实验4
不是。
line1:全局作用域
line3:全局作用域
line7:局部作用域
line11:全局作用域
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))

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

def solve(a, b, c): 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 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()

def list_generator(a,b,step=1): c=[] while a<b: c.append(a) a+=step return c 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): a=1 sum=0 while a<=n: if n%a == 0: sum+=1 a+=1 else: a+=1 if sum==2: return True else: return False s=4 x=range(1,21) n=[] for i in range(len(x)): if is_prime(x[i]) == True: n.append(x[i]) while s<=20: for c in range(len(n)): for d in range(1,c+1): if n[c]+n[d]==s: print(f'{s}={n[d]}+{n[c]}') break s+=2

def encoder(text): text1 = '' for i in text: if 'a' <= i <= 'z': c = 97 + (ord(i) + 5 - 97) % 26 text1 += chr(c) elif 'A' <= i <= 'Z': c = 65 + (ord(i) + 5 - 65) % 26 text1 += chr(c) else: text1 += i return text1 def decoder(text): text1 = '' for i in text: if 'a' <= i <= 'z': c = 97 + (ord(i) - 5 - 97) % 26 text1 += chr(c) elif 'A' <= i <= 'Z': c = 65 + (ord(i) - 5 - 65) % 26 text1 += chr(c) else: text1 += i return text1 text = input('输入英文文本: ') encoded_text = encoder(text) print('编码后的文本: ', encoded_text) decoded_text = decoder(encoded_text) print('对编码后的文本解码: ', decoded_text)

def collatz(n): lst = [] lst.append(n) while n != 1: if n %2 == 0: n = n/2 lst.append(int(n)) else: n = n*3 +1 lst.append(int(n)) return lst try: n = int(input('Enter a positive integer:')) if n <= 0: raise ValueError except ValueError: print('Error: must be a positive integer') else: print(collatz(n))

def func(n): if n == 0: return 0 else: return 2*func(n-1) + 1 while True: x = input() if x == '#': print('计算结束') break n = int(x) ans = func(n) print(f'n = {n}, ans = {ans}')


浙公网安备 33010602011771号