实验四

1 print(sum)
2 sum = 42
3 print(sum)
4 def inc(n):
5     sum = n+1
6     print(sum)
7     return sum
8 sum = inc(7) + inc(7)
9 print(sum)

1.Built-in

2.Global

3.Local

4.Global

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

 1 def solve(a, b, c):
 2     '''
 3     求解一元二次方程, 返回方程的两个根
 4     :para: a,b,c: int 方程系数
 5     :return: tuple
 6     '''
 7     delta = b*b - 4*a*c
 8     delta_sqrt = abs(delta)**0.5
 9     p1 = -b/2/a;
10     p2 = delta_sqrt/2/a
11     if delta>=0:
12         root1 = p1 + p2
13         root2 = p1 - p2
14     else:
15         root1 = complex(p1, p2)
16         root2 = complex(p1, -p2)
17     return root1, root2
18 
19 
20 print(solve.__doc__)
21 while True:
22     try:
23         a,b,c = eval(input('Enter eqution coefficient: '))
24         if a == 0:
25             raise
26     except:
27         print('invalid input, or, a is zero')
28         break
29     else:
30         root1, root2 = solve(a, b, c)
31         print(f'root1 = {root1:.2f}, root2 = {root2:.2f}')
32         print()

 1 def list_generator(begin, end, step=1):
 2     ls = []
 3     a = begin
 1 def is_prime(n):
 2     if n < 2:
 3         return False
 4     for i in range(2,int(n**0.5)+1):
 5         if n % i == 0:
 6             return False
 7     return True
 8 
 9 h=[i for i in range(21)]
10 for x in h[::2]:
11     for a in range(0,21):
12         if is_prime(a) is True:
13             if is_prime(x-a) is True:
14                 print(f'{x}={a}+{x-a}')
15                 break
16             else:
17                 a+=1
18         else:
19             a+=1

 1 def encoder(a):
 2     """对文本加密"""
 3     result = ''
 4     for i in range(len(a)):
 5         if ord(a[i]) in range(65, 91):
 6             result+=chr((ord(a[i])-65+5)%26+65)
 7         elif ord(a[i]) in range(97, 123):
 8              result+=chr((ord(a[i])-97+5)%26+97)
 9         else:
10             result += a[i]
11     return result
12 def decoder(a):
13     """解码加密文本"""
14     result = ''
15     for i in range(len(a)):
16         if ord(a[i]) in range(65, 91):
17             result+=chr((ord(a[i])-65+26-5)%26+65)
18         elif ord(a[i]) in range(97, 123):
19              result+=chr((ord(a[i])-97+26-5)%26+97)
20         else:
21             result += a[i]       
22     return result
23 text = input("输入英文文本: ")
24 print(f"编码后的文本: {encoder(text)}")
25 print(f"对编码后的文本解码: {decoder(encoder(text))}") 

 

 1 def collatz(n):
 2     x=[n]
 3     while n!=1:
 4         if n%2==0:
 5             n=n/2
 6         else:
 7             n=3*n+1
 8         x.append(int(n))
 9     return x
10 try:
11     n=int(input('Enter a positive integer:'))
12     if n<=0:
13         raise
14 except:
15     print('Error: must be a positive integer')
16 else:
17     print(collatz(n))

 

 

 


 

posted @ 2022-05-10 21:21  张博睿  阅读(5)  评论(1编辑  收藏  举报