task1

源代码

print(sum)
sum = 42
print(sum)
def inc(n):
  sum = n+1
  print(sum)
  return sum
sum = inc(7) + inc(7)
print(sum)y

运行结果截图

task2

源代码

#task2.1
def func1(a,b,c,d,e,f):
    return[a,b,c,d,e,f]

def func2(a,b,c,*,d,e,f):
    return[a,b,c,d,e,f]

def func3(a,b,c,/,d,e,f):
    return[a,b,c,d,e,f]

print(func1(1,9,2,0,5,3))
print(func1(a=1,b=9,c=2,d=0,e=5,f=3))
print(func1(1,9,2,f=3,d=0,e=5))

print(func2(11,99,22,d=0,e=55,f=33))
print(func2(a=11,b=99,c=22,d=0,e=55,f=33))

print(func3(111,999,222,0,555,333))
print(func3(111,999,222,d=0,e=555,f=333))

运行结果截图

源代码

#task2.2
1 list1 = [1, 9, 8, 4]
2 print( sorted(list1) )
3 print( sorted(list1, reverse=True) )
4 print( sorted(list1, True) )

  运行结果截图

源代码

#task2.3
1 def func(a,b,c,/,*,d,e,f):
2     return([a,b,c,d,e,f])
3 
4 print(func(1,2,3,d=4,e=5,f=6))

  运行结果截图

task3

源代码

def solve(a, b, c):
  '''
  求解一元二次方程, 返回方程的两个根
  :para: a,b,c: float 方程系数
  :return: tuple
  '''
  delta = b*b - 4*a*c
  delta_sqrt = abs(delta)**0.5
  p1 = -b/2/a
  p2 = delta_sqrt/2/a
  if delta >= 0:
    root1 = p1 + p2
    root2 = p1 - p2
  else:
    root1 = complex(p1, p2)
    root2 = complex(p1, -p2)
  return root1, root2
print(solve.__doc__)
while True:
  try:
    t = input('输入一元二次方程系数a b c, 或者,输入#结束: ')
    if t == '#':
      print('结束计算,退出')
      break
    a, b, c = map(float, t.split())
    if a == 0:
      raise ValueError('a = 0, 不是一元二次方程')
  except ValueError as e:
    print(repr(e))
    print()
  except:
    print('有其它错误发生\n')
  else:
    root1, root2 = solve(a, b, c)
    print(f'root1 = {root1:.2f}, root2 = {root2:.2f}')
    print()

  运行结果截图

task4

源代码

def list_generator(a,b,c=1):
    if a==b:
        return a
    else:
        x=[]
        while a<=b:
            x.append(a)
            a+=c
        return x

list1=list_generator(-5,5)
print(list1)

list2=list_generator(-5,5,2)
print(list2)

list3=list_generator(1,5,0.5)
print(list3)

  运行结果截图

task5

源代码

def is_prime(num):
    if num == 1:
        return False
    elif num == 2:
        return True
    else:
        for i in range(2, num):
            if num % i == 0:
                return False
        return True

def goldbach_conjecture(num):
    primes = []
    for i in range(2, num):
        if is_prime(i):
            primes.append(i)
    for prime in primes:
        if num - prime in primes:
            return f"{num} = {prime} + {num-prime}"
    return None

for num in range(4, 21, 2):
    expression = goldbach_conjecture(num)
    if expression:
        print(expression)

  运行结果截图

task6

源代码

def encoder(text):
    text=list(text)
    i=0
    while i <len(text):
        if text[i].isalpha():
            if text[i].islower():
                if ord(text[i])<=117:
                    text[i]=chr(ord(text[i])+5)
                else:
                    text[i]=chr(ord(text[i])+5-26)
            if text[i].isupper():
                if ord(text[i])<=85:
                    text[i]=chr(ord(text[i])+5)
                else:
                    text[i]=chr(ord(text[i])+5-26)
        i+=1
    return ''.join(text)

def decoder(text):
    text=list(text)
    i=0
    while i <len(text):
        if text[i].isalpha():
            if text[i].islower():
                if ord(text[i])>=102:
                    text[i]=chr(ord(text[i])-5)
                else:
                    text[i]=chr(ord(text[i])-5+26)
            if text[i].isupper():
                if ord(text[i])>=46:
                    text[i]=chr(ord(text[i])-5)
                else:
                    text[i]=chr(ord(text[i])-5+26)
        i+=1
    return ''.join(text)

text = input('输入英文文本: ')
encoded_text = encoder(text)
print('编码后的文本: ', encoded_text)
decoded_text = decoder(encoded_text)
print('对编码后的文本解码: ', decoded_text)

  运行结果截图

task7

源代码

def collatz(n):
    if n%2==0:
        return n//2
    else:
        return (n*3)+1


try:
    n=eval(input('Enter a positive integer:'))
    if type(n) is float or type(n) is str or n<=0:
        raise ValueError('Error:must be a positive integer')
except ValueError as e:
    print(repr(e))
    print()
except:
    print('Error:must be a positive integer')
else:
    num=collatz(n)
    list=[n,num]
    while True:
        if num!=1:
            num=collatz(num)
            list.append(num)
        else:
            break
    print(list)

  运行结果截图

task8

源代码

def func(n):
    def func1(n):
        if n==0:
            return 1
        else:
            return 2*func1(n-1)
    return func1(n)-1

while True:
    x = input()
    if x == '#':
        print('计算结束')
        break
    n = int(x)
    ans = func(n)
    print(f'n = {n}, ans = {ans}')

  运行结果截图

 

posted on 2023-05-23 00:15  moonnoiknow  阅读(21)  评论(0)    收藏  举报