实验四

print(sum)
sum=42
print(sum)

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

sum=inc(7)+inc(7)
print(sum)

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

 

 

 

 

 

 

 

1 list1=[1,9,8,4]
2 
3 print(sorted(list1))
4 print(sorted(list1,reverse=True))
5 print(sorted(list1,True))

 

 

 

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 is_prime(n):
    if n<2:
        return False
    else:
        for i in range(2,n):
            if n%i==0:
                return False
                break
        else:
            return True

num=[]
for i in range(20):
    if is_prime(i):
        num.append(i)

def summary(x):
    i = 0
    while True:
        for j in range(i, len(num)):
            s = num[i]+num[j]
            if x == s:
                s = f"{s} = {num[i]} + {num[j]}"
                return s
        i += 1


for i in range(4, 21, 2):
    print(summary(i))

 

 

def encoder(strs):
    a=list(strs)
    i=0
    while i <len(strs):
        b = ord(a[i])
        if 65<=b<=85 or 97<=b<=117:
            c=chr(b+5)

        elif 85<=b<=90 or 117<=b<=122:
            c=chr(b-21)
        else:
            c=chr(b)
        a[i]=c
        i+=1
    return ''.join(a)



def decoder(strs):
    a = list(strs)
    i=0
    while i < len(strs):
        b = ord(a[i])
        if 70<=b<=90 or 102<=b<=122:
            c=chr(b-5)
        elif 65<=b<=70 or 97<=b<=102:
            c=chr(b+21)
        else:
            c=chr(b)
        a[i] = c
        i+=1
    return ''.join(a)

a=input('输入英文文本: ')
print(f'编码后的文本:{encoder(a)}')
print(f'对编码后的文本解码:{decoder(encoder(a))}')

 

 

 

 

def collatz(n):
    if n%2==0:
        n=int(n/2)
        return n
    else:
        n=n*3+1
        return n
try:
    n=eval(input('输入一个正整数:'))
    if n<=0 or type(n) is not int:
        raise
except:
    print('Error:must be a positive inreger')

else:
    list=[]
    while n!=1:
        list.append(n)
        n=collatz(n)
    list.append(1)
    print(list)

 

 

 

 

 

 

posted @ 2022-05-11 15:42  稀音络合物  阅读(10)  评论(2编辑  收藏  举报