实验四 函数与异常处理应用编程

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

不是

第一次:Build-in

第二次:Global

第三次:Local

第四次:Global

list1 = [1,9,8,4]  print( sorted(list1)) print( sorted(list1,reverse = True)) print( sorted(list1,True))

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

def solve(a,b,c):     '''     求解一元二次方程,返回方程的两个根     :param 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()

def list_generator(a,b,c = 1):     y = []     while a<=b:         y.append(a)         a+=c     return y  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):     x = 2     m = True     if n == 2:         return True     while n > x:         if n%x == 0 and m == True:             m = False         else:             x+=1     return m  for number in range(2,21,2):     for x in range(2,int(number/2)+1):         y = number-x         if is_prime(x) == True and is_prime(y) == True:             print('{}={}+{}'.format(number,x,y))             break

def encorder(text):     list = []     for i in text:         if 65<=ord(i)<=85 or 97<=ord(i)<=117:             list.append(chr((ord(i)+5)))         elif 86<=ord(i)<=90 or 118<=ord(i)<=122:             list.append(chr(ord(i)-21))         else:             list.append(i)     return ''.join(list)  def decorder(text):     list = []     for i in text:         if 70<=ord(i)<=90 or 102<=ord(i)<=122:             list.append(chr((ord(i)-5)))         elif 65<=ord(i)<=69 or 97<=ord(i)<=101:             list.append(chr((ord(i)+21)))         else:             list.append(i)     return ''.join(list)  text=input('输入英文文本;') print(f'编码后的文本;{encorder(text)}') print(f'解码后的文本;{decorder(encorder(text))}')

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