# 实验4

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

1.内置函数

2.给sum赋予一个值

3.局部变量

3.全局变量

2.

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))

3.

def solve(a, b, c):
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()

4.

def list_generator(a,b,c):
list=[]
if type(c)==int:
for i in range(a,b+1,c):
list.append(i)
return list
elif type(c)!=int:
g=1
e=int(a/c)
f=int(b/c)
for i in range(e,f+1,g):
list.append(c*i)
return list

list1 = list_generator(-5, 5,1)
print(list1)
list2 = list_generator(-5, 5, 2)
print(list2)
list3 = list_generator(1, 5, 0.5)
print(list3)

5.

def is_prime(n):
list=[]
for i in range(1,n):
s=n%i
list.append(s)
y=list.count(0)
if y>1:
return False
else:
return True
def found(n):
for i in range(2,n):
if is_prime(i):
if is_prime(n-i):
print(n,'=',i,'+',n-i)
return True
return False
n=input()
i=4
while(found(i) and i<20):
i+=2

6.

def encorder(text):
sentence = []
for i in text:
if i.isupper():
sentence.append(chr((ord(i)-60)%26+65))
elif i.islower():
sentence.append(chr((ord(i)-92)%26+97))
else:
sentence.append(i)
return ''.join(sentence)
def decorder(text):
sentence = []
for i in text:
if i.isupper():
sentence.append(chr((ord(i)-44)%26+65))
elif i.islower():
sentence.append(chr((ord(i)-76)%26+97))
else:
sentence.append(i)
return ''.join(sentence)
text=input('输入英文文本；')
print(f'编码后的文本；{encorder(text)}')
print(f'解码后的文本；{decorder(encorder(text))}')

7.

def collatz(n):
list=[n]
while list[-1]!=1:
if list[-1]%2==0:
list.append(list[-1]/2)
else:
list.append(3*list[-1]+1)
return list
while True:
try:
n=eval(input('输入一个数字：'))
if n<=0 or int(n)!=n:
raise
except:
print('Error: must be a positive integer')
else:
print(collatz(n))

posted @ 2022-05-04 18:28  戎梓瑞  阅读(22)  评论(1编辑  收藏  举报