首页 > 其他分享 >实验四

实验四

时间:2023-05-23 23:36:50浏览次数:32  
标签:return 源码 实验 print True def

实验任务一

实验源码:

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

实验结果截图:

line1:内置作用域  line3:全局作用域 line7:局部作用域 line11:全局作用域

实验任务二

实验源码:

 1 def func1(a,b,c,d,e,f):
 2     return[a,b,c,d,e,f]#返回以上参数构成的列表
 3 
 4 def func2(a,b,c,*,d,e,f):#返回参数a,b,c,d,e,f构成的列表。 *后面的参数只能按关键字传递
 5     return [a,b,c,d,e,f]
 6 
 7 def func3(a,b,c,/,d,e,f):#返回参数a,b,c,d,e,f构成的列表。 /后面的参数只能按位置传递
 8     return [a,b,c,d,e,f]
 9 
10 #func1调用:按位置传递、按参数传递都可以
11 print(func1(1,9,2,0,5,3))
12 print(func1(a=1,b=9,c=2,d=0,e=5,f=3))
13 print(func1(1,9,2,f=3,d=0,e=5))
14 
15 #func2调用:d,e,f必须按关键字传递
16 print(func2(11,99,22,d=0,e=55,f=33))
17 print(func1(a=11,b=99,c=22,d=0,e=55,f=33))
18 
19 #func3调用:a,b,c必须按位置传递
20 print(func3(111,999,222,0,555,333))
21 print(func3(111,999,222,0,555,333))
22 
23 list1 = [1, 9, 8, 4]
24 print( sorted(list1) )
25 print( sorted(list1, reverse=True) )
26 #print( sorted(list1, True) )python内置函数sorted()中参数reverse的传递方式必须使用关键字传递
27 
28 def func(a, b, c, /,* , d, e, f):#/,*后面的参数必须按照关键字传递,且 /必须在 *前面
29     return [a,b,c,d,e,f]
30 print(func(1,2,3,d=4,e=5,f=6))

实验结果截图

实验任务三

实验源码:

 1 def solve(a, b, c):
 2     delta = b*b - 4*a*c
 3     delta_sqrt = abs(delta)**0.5
 4     p1 = -b/2/a
 5     p2 = delta_sqrt/2/a
 6     if delta >= 0:
 7         root1 = p1 + p2
 8         root2 = p1 - p2
 9     else:
10         root1 = complex(p1, p2)#complex(a,b)是将括号内的数转化为复数的函数
11         root2 = complex(p1, -p2)
12     return root1, root2
13 while True:
14     try:
15         t = input('输入一元二次方程系数a b c, 或者,输入#结束: ')
16         if t == '#':
17             print('结束计算,退出')
18             break
19         a, b, c = map(float, t.split())#map(f(x),[])是整合函数可以对列表内的对象进行方f(x)的变化生成一个新的列表
20         if a == 0:
21             raise ValueError('a = 0, 不是一元二次方程')
22     except ValueError as e:
23         print(repr(e))
24         print()
25     except:
26         print('有其它错误发生\n')
27     else:
28         root1, root2 = solve(a, b, c)
29         print(f'root1 = {root1:.2f}, root2 = {root2:.2f}')
30         print()

 

实验结果截图:

 试验任务四

实验源码:

 

 1 def list_generator(a,b,c=1):
 2     if type(c)==type(1):
 3         x=[i for i in range(a,b+1,c)]
 4     else:
 5         i=a
 6         x=[]
 7         while i <= b:
 8             x+=[i]
 9             i+=c
10     return x
11 list1= list_generator(-5,5)
12 print(list1)
13 list2 = list_generator(-5, 5, 2)
14 print(list2)
15 list3 = list_generator(1, 5, 0.5)
16 print(list3)

实验结果截图:

实验任务五

实验源码:

 1 def is_prime(n):
 2     if n == 2:
 3         return True
 4     elif n != 1:
 5         for i in range(2,n):
 6             if n == 2:
 7                 return True
 8             elif n % i == 0:
 9                 break
10             else:
11                 return True
12 
13 for i in range(2,20+1,2):
14     flag = True
15     for j in range(2, i):
16         if is_prime(j) == True and is_prime(i - j) == True and flag == True:
17             print(f'{i}={j}+{i-j}')
18             flag = False

实验结果截图:

实验任务六

实验源码:

 1 def encoder(text):
 2     x=''
 3     for i in text:
 4         if 'a'<=i<='u' or 'A'<=i<='U':
 5             i=chr(ord(i)+5)
 6             x+=i
 7         elif 'v'<=i<='z' or 'V'<=i<='Z':
 8             i=chr(ord(i)-27+5)
 9             x+=i
10         else:
11             x+=i
12     return x
13 def decoder(encoded_text):
14     x=''
15     for i in encoded_text:
16         if 'f'<=i<='z' or 'F'<=i<='Z':
17             i=chr(ord(i)-5)
18             x+=i
19         elif 'a'<=i<='e' or 'A'<=i<='E':
20             i=chr(ord(i)-5+27)
21             x+=i
22         else:
23             x+=i
24     return x
25 text = input('输入英文文本: ')
26 encoded_text = encoder(text)
27 print('编码后的文本: ', encoded_text)
28 decoded_text = decoder(encoded_text)
29 print('对编码后的文本解码: ', decoded_text)

实验结果截图:

 

实验任务七

实验源码:

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

实验结果截图:

实验任务八:

实验源码:

 1 def func(n):
 2     if n == 1:
 3         ans = 2  - 1
 4     else:
 5         ans = 2 * func(n-1) +1
 6         n -= 1
 7     return ans
 8 while True:
 9     x = input()
10     if x == '#':
11         print('计算结束')
12         break
13     n = int(x)
14     ans = func(n)
15     print(f'n = {n}, ans = {ans}')

实验结果截图:

 

标签:return,源码,实验,print,True,def
From: https://www.cnblogs.com/wjh857925263/p/17420502.html

相关文章

  • 实验四 函数与异常处理编程
    1.实验任务1task1.py1print(sum)2sum=423print(sum)45definc(n):6sum=n+17print(sum)8returnsum910sum=inc(7)+inc(7)11print(sum)2.实验任务2task2_1.py1deffunc1(a,b,c,d,e,f):2'''3......
  • Python实验课4
    实验一实验源码1print(sum)2sum=423print(sum)45definc(n):6sum=n+17print(sum)8returnsum910sum=inc(7)+inc(7)11print(sum)实验截图实验二task2.1Python实验源码1deffunc1(a,b,c,d,e,f):2return[a,......
  • 实验四
    task1line1B68ZZZ33344uilt-in line3Globalline7Localline11Enclosingtask2.1deffunc1(a,b,c,d,e,f):'''返回参数a,b,c,d,e,f构成的列表默认,参数按位置传递;也支持关键字传递'''return[a,b,c,d,e,f]deffunc2(a,b,c,*,d,......
  • 实验4
    实验任务1task1.pyprint(sum)sum=42print(sum)definc(n):sum=n+1print(sum)returnsumsum=inc(7)+inc(7)print(sum)答:不是同一个对象的名称。line1是内置作用域,line3,line11的sum是全局作用域,line7的sum是局部作用域。实验任务2task2_2.py......
  • 实验4 函数与异常处理编程
    task1print(sum)sum=42print(sum)definc(n):sum=n+1print(sum)returnsumsum=inc(7)+inc(7)print(sum)答案:不是。line1为内置作用域,line3和line11为全局作用域,line7为局部作用域。task2-1deffunc1(a,b,c,d,e,f):'''返回参数......
  • 实验4 函数与异常处理编程
    task1print(sum)sum=42print(sum)definc(n):sum=n+1print(sum)returnsumsum=inc(7)+inc(7)print(sum)运行结果: task2.1deffunc1(a,b,c,d,e,f):return[a,b,c,d,e,f]deffunc2(a,b,c,*,d,e,f):#返回参数a,b,c,d,e,f构成......
  • 实验四
    print(sum)sum=42print(sum)definc(n):sum=n+1print(sum)returnsumsum=inc(7)+inc(7)print(sum)答:不是。line1的作用域为全局作用域·,line3的作用域是外部嵌套作用域,line7的作用域为局部作用域,line11的作用域为局部作用域。task2-1deffunc1(a,b,c......
  • 实验4
    task1print(sum)sum=42print(sum)definc(n):sum=n+1print(sum)returnsumsum=inc(7)+inc(7)print(sum)task2deffunc1(a,b,c,d,e,f):return[a,b,c,d,e,f]deffunc2(a,b,c,*,d,e,f):return[a,b,c,d,e,f]deffunc3(a,b,c,/,d,e,f):......
  • 实验4 函数与异常处理编程
    实验结论实验任务1程序源代码print(sum)sum=42print(sum)definc(n):sum=n+1print(sum)returnsumsum=inc(7)+inc(7)print(sum)运行测试截图问题回答:不是同一个对象的名称。line1是内置作用域,line3和line11是全局作用域,而line7是在inc中的局......
  • 实验四
    task1源代码:print(sum)sum=42print(sum)definc(n):sum=n+1print(sum)returnsumsum=inc(7)+inc(7)print(sum)问题:task1.py源码中,共有4处有python语句 print(sum) (line1,line3,line7,line11)。 这4处使用的标识符sum是同一个对象的......