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

1.打印sum函数
2.打印变量名为“sum”的变量
3.局部变量
4.全局变量
def func1(a, b, c, d, e, f):
'''
返回参数a,b,c,d,e,f构成的列表
默认,参数按位置传递; 也支持关键字传递
'''
return [a, b,c, d, e, f]
def func2(a, b, c,*, d, e, f):
'''
返回参数a,b,c,d,e,f构成的列表
*后面的参数只能按关键字传递
'''
return [a,b,c,d,e,f]
def func3(a, b, c, /, d, e, f):
'''
返回参数a,b,c,d,e,f构成的列表
/前面的参数只能按位置传递
'''
return [a,b,c,d,e,f]
# func1调用:按位置传递、按参数传递都可以
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))
# func2调用:d,e,f必须按关键字传递
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) )
# func3调用:a,b,c必须按位置传递
print( func3(111, 999, 222, 0, 555, 333))
print( func3(111, 999, 222, d=0, e=555, f=333) )

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: float 方程系数
:return: tuple
"""
delta=b*b-4*a*c
delta_sprt=abs(delta)**0.5
p1=-b/2/a
p2=delta_sprt/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:
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(start,end,step=1):
list=[start]
i=start
while i != end:
i+=step
list.append(i)
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 > 1:
for i in range(2, int((n ** 0.5) + 1)):
if n % i == 0:
return False
else:
return True
else:
return False
num=4
while num<=20:
for i in range(2,num):
if is_prime(i):
if is_prime(num-i):
print(f'{num}={i}+{num-i}')
break
num+=2

def encoder(text):
text=list(text)
i=0
while i< len(text):
if text[i].isalpha():
if text[i].islower():
if ord(text[i])<=117:
text[i]=chr(ord(text[i])+5)
else:
text[i]=chr(ord(text[i])+5-26)
if text[i].isupper():
if ord(text[i])<=85:
text[i] = chr(ord(text[i]) + 5)
else:
text[i] = chr(ord(text[i]) + 5 - 26)
i+=1
return ''.join(text)
def decoder(text):
text = list(text)
i = 0
while i < len(text):
if text[i].isalpha():
if text[i].islower():
if ord(text[i]) >= 102:
text[i] = chr(ord(text[i]) - 5)
else:
text[i] = chr(ord(text[i]) - 5 + 26)
if text[i].isupper():
if ord(text[i]) >= 46:
text[i] = chr(ord(text[i]) - 5)
else:
text[i] = chr(ord(text[i]) - 5 + 26)
i += 1
return ''.join(text)
for i in range(3):
title='Remote Interpreter Reinitialized'
print(title.center(60,'*'))
text=input('输入英文文本:')
encoded_text=encoder(text)
decoded_text=decoder(encoded_text)
print('编码后的文本:',encoded_text)
print('对编码后的文本解码:',decoded_text)

def collatz(number):
if number % 2 == 1:
return number * 3+1
elif number % 2 ==0:
return number // 2
for i in range(5):
try:
n = eval(input('Enter a positive integer:'))
if type(n) is float or type(n) is str or n <= 0:
raise ValueError('Error: must be a positive integer')
except ValueError as e:
print(repr(e))
print()
except:
print('Error: must be a positive integer')
else:
num=collatz(n)
list=[n,num]
while True:
if num != 1:
num=collatz(num)
list.append(num)
elif num == 1:
break
print(list)

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


浙公网安备 33010602011771号