实验四

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

 

 

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]

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 solve(a, b, c):
'''
求解一元二次方程, 返回方程的两个根
:para: 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(x, y, z = 1):
list = []
i = 0
while i <= (y - x):
list.append(x + i)
i += z
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 list_generator(x, y, z = 1):
list = []
i = 0
while i <= (y - x):
list.append(x + i)
i += z
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)

 

 

from math import sqrt
def is_prime(n):
if n == 1 or n == 0:
return False
for i in range(2, int(sqrt(n) + 1)):
if n % i == 0:
return False
return True
def gd(x):
for i in range(2, x):
if is_prime(i):
if is_prime(x - i):
print(x, '=', i, '+', x - i)
return True
return False
i = 4
while (gd(i) and i < 20):
i += 2

 

 

def encoder(s):
s=list(s)
for i in range(len(s)):
if s[i].isalpha():
if 'a'<=s[i].lower()<'v':
s[i]=chr(ord(s[i])+5)
else:
s[i]=chr(ord(s[i])-21)
else:
s[i]=s[i]
s=''.join(s)
return s
def decoder(s):
s=list(s)
for i in range(len(s)):
if s[i].isalpha():
if 'a'<=s[i].lower()<='e':
s[i]=chr(ord(s[i])+21)
elif 'e'<s[i].lower()<='z':
s[i]=chr(ord(s[i])-5)
else:
s[i]=s[i]
s=''.join(s)
return s
s=input('输入英文文本: ')
print(f'编码后的文本:{encoder(s)}')
print(f'对编码后的文本解码:{decoder(encoder(s))}')

 

 

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

posted @ 2022-05-08 14:20  q^  阅读(10)  评论(1编辑  收藏  举报