实验四
print(sum) sum=42 print(sum) def inc(n): sum=n+1 print(sum) return sum sum=inc(7)+inc(7) print(sum)
def solve(a, b, c): ''' 求解一元二次方程, 返回方程的两个根 :para: a,b,c: int 方程系数 :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: a,b,c = eval(input('Enter eqution coefficient: ')) if a == 0: raise except: print('invalid input, or, a is zero') break else: root1, root2 = solve(a, b, c) print(f'root1 = {root1:.2f}, root2 = {root2:.2f}') print()
1 list1=[1,9,8,4] 2 3 print(sorted(list1)) 4 print(sorted(list1,reverse=True)) 5 print(sorted(list1,True))
def list_generator(x, y, z = 1): list = [] i = 0 while i <= (y - x): list.append(x + i) i += z return list list1 = list_generator(-5, 5) print(list1) list2 = list_generator(-5, 5, 2) print(list2) list3 = list_generator(1, 5, 0.5) print(list3)
def is_prime(n): if n<2: return False else: for i in range(2,n): if n%i==0: return False break else: return True num=[] for i in range(20): if is_prime(i): num.append(i) def summary(x): i = 0 while True: for j in range(i, len(num)): s = num[i]+num[j] if x == s: s = f"{s} = {num[i]} + {num[j]}" return s i += 1 for i in range(4, 21, 2): print(summary(i))
def encoder(strs): a=list(strs) i=0 while i <len(strs): b = ord(a[i]) if 65<=b<=85 or 97<=b<=117: c=chr(b+5) elif 85<=b<=90 or 117<=b<=122: c=chr(b-21) else: c=chr(b) a[i]=c i+=1 return ''.join(a) def decoder(strs): a = list(strs) i=0 while i < len(strs): b = ord(a[i]) if 70<=b<=90 or 102<=b<=122: c=chr(b-5) elif 65<=b<=70 or 97<=b<=102: c=chr(b+21) else: c=chr(b) a[i] = c i+=1 return ''.join(a) a=input('输入英文文本: ') print(f'编码后的文本:{encoder(a)}') print(f'对编码后的文本解码:{decoder(encoder(a))}')
def collatz(n): if n%2==0: n=int(n/2) return n else: n=n*3+1 return n try: n=eval(input('输入一个正整数:')) if n<=0 or type(n) is not int: raise except: print('Error:must be a positive inreger') else: list=[] while n!=1: list.append(n) n=collatz(n) list.append(1) print(list)