ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

实验四

2022-05-10 17:01:03  阅读:100  来源: 互联网

标签:return sum range 实验 result print ls


实验任务一:

源码:

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

 

运行结果:

 

 

 

实验任务二:

源码:

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):
    '''
    求解一元二次方程, 返回方程的两个根
    :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(begin, end, step=1):
    ls = []
    a = begin
    b = end
    while a <= b:
        ls.append(a)
        a += step
    return ls


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(a):
  for i in range(2, int(a)+1):
    if not n%i:
      return False  
    else:
      return True


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


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


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

 

运行结果:

 

 

 

实验任务六:

def encoder(a):
    """对文本加密"""
    result = ''
    for i in range(len(a)):
        if ord(a[i]) in range(65, 91):
            result+=chr((ord(a[i])-65+5)%26+65)
        elif ord(a[i]) in range(97, 123):
             result+=chr((ord(a[i])-97+5)%26+97)
        else:
            result += a[i]
    return result
def decoder(a):
    """解码加密文本"""
    result = ''
    for i in range(len(a)):
        if ord(a[i]) in range(65, 91):
            result+=chr((ord(a[i])-65+26-5)%26+65)
        elif ord(a[i]) in range(97, 123):
             result+=chr((ord(a[i])-97+26-5)%26+97)
        else:
            result += a[i]       
    return result
text = input("输入英文文本: ")
print(f"编码后的文本: {encoder(text)}")
print(f"对编码后的文本解码: {decoder(encoder(text))}")

运行结果:

 

 

 

实验任务七:

ef collatz(a):
    """验证Collatz猜想"""
    if not a % 2:
        return a / 2
    else:
        return 3 * a + 1


try:
    n = int(input("Enter a positive integer: "))
    if n <= 0:
        raise ValueError
    ls = [n]
    while n != 1:
        n = collatz(n)
        ls.append(n)
    print([int('{:.0f}'.format(i)) for i in ls])
except ValueError:
    print("Error:must be a positive integer")

实验结果:

 

标签:return,sum,range,实验,result,print,ls
来源: https://www.cnblogs.com/XIMU0353/p/16254234.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有