武汉理工大学python123实验——流程控制结构

1.百分制成绩转换五分制#1707

python 复制代码
n = int(input())

if n>=90:
    print('A')
elif n>=80:
    print('B')
elif n>=70:
    print('C')
elif n>=60:
    print('D')
else:
    print('E')

2.角古猜想#73963

python 复制代码
n = eval(input())
if n<=0:
    print('ERROR')
elif '.' in str(n):
    print('ERROR')
else:
    print(n,end=" ")
    sum = 0
    while True:
        if n==1:
            break
        if n%2==0:
            n = int(n/2)
            print(n,end=" ")
        else:
            n = n*3+1
            print(n,end=" ")
        sum+=1
    
    print(f'\n{sum}')
        

3.中国古代数学问题集锦#133159

python 复制代码
def type_judge(question):
    """接收一个字符串为参数,根据参数调用不同函数执行不同代码。
    这种写法不规范,但把输入、输出都放在一个函数中,方便管理。
    """
    if question == '鸡兔同笼':
        chicken_rabbit()  # 用户输入为'鸡兔同笼'调用此函数
    elif question == '物不知数':
        amount_of_goods()  # 用户输入为'物不知数'调用此函数
    elif question == '二鼠打洞':
        two_mice()  # 用户输入为'二鼠打洞'调用此函数
    elif question == '李白买酒':
        libai_buy_wine()  # 用户输入为'李白买酒'调用此函数
    elif question == '宝塔上的琉璃灯':
        lamp_on_pagoda()  # 用户输入为'宝塔上的琉璃灯'调用此函数
    else:
        print('输入错误')


def chicken_rabbit():
    """
    在同一行内输入用空格分隔的两个整数,代表头和脚的数量,计算并输出笼中各有多少只鸡和兔,
    如无解则输出"Data Error!",函数无返回值。
    输入:35 94
    输出:有23只鸡,12只兔
    输入:100 5
    输出:Data Error!
    """
    a,b = input().split()
    a = int(a)
    b = int(b)
    flag = 0
    for i in range(a+1):
        if i*2+(a-i)*4==b:
            print(f'有{i}只鸡,{a-i}只兔')
            flag=1
            
    if flag==0:
        print('Data Error!')
            


def amount_of_goods():
    """一些物品,不知道有多少个,3个3个数的话,还多出2个;5个5个数则多出3个;
    7个7个数也会多出2个。输入一个正整数,从小到大依次输出所有不超过输入数字
    且满足条件的物品数量,有多个答案时每行输出一个。
    例如输入:200
    输出:
    23
    128
    """
    a = int(input())
    for i in range(a+1):
        if i%3==2 and i%5==3 and i%7==2:
            print(i)


def two_mice():
    """有一堵十尺厚的墙,两只老鼠从两边向中间打洞。大老鼠第一天打洞一尺,小老鼠也是打洞一尺。
    大老鼠每天的打洞进度是前一天的一倍,小老鼠每天的进度是前一天的一半。计算并输出它们几天可以相逢,
    相逢时各打了多少尺。
    输入格式:输入1 个整数,代表墙的厚度,单位为尺
    输出格式:
    第一行输出1 个整数,表示相遇时所需的天数
    第二行输出2 个浮点数,分别为小鼠和大鼠打洞的距离,单位为尺,保留小数点后1 位数字。
    """
    n = int(input())
    a = 1
    b = 1
    sa = 0
    sb = 0
    sum = 0
    while True:
        t = n
        n = n - a
        sa+=a
       
        n = n - b
        sb+=b
        
        sum+=1
        if n==0:
            print(sum)
            print(sb,sa)
            break
        elif(n<0):
            print(sum)
            sa-=a
            sb-=b
            n = n+a+b
            sa+=n*(a/(a+b))
            sb+=n*(b/(a+b))
            print(f'{sb:.1f}',f'{sa:.1f}')
            break
        a = a*2
        b = b/2
        
        

def libai_buy_wine():
    """大诗人李白,提着酒壶,从家里出来,酒壶中有酒若干。他边走边唱:无事街上走,提壶去买酒,
    遇店加一倍,见花喝一斗,五遇店和花,喝光壶中酒,计算并输出壶中原有酒几斗?"""
    a = 0
    for i in range(5):
        a+=1
        a/=2
    print(a)
    


def lamp_on_pagoda():
    """有一座八层宝塔,每一层都有一些琉璃灯,每一层的灯数都是上一层的二倍,
    已知共有765 盏琉璃灯,计算并输出每层各有多少盏琉璃灯。
    输出为8行,从上往下数字依次增大。
    """
    ls = [1,2,4,8,16,32,64,128]
    a = 765/sum(ls)
    for i in range(8):
        print(f'第{i+1}层上有{int(a*ls[i])}只琉璃灯')


if __name__ == '__main__':
    choice = input()    # 接收用户输入的字符串
    type_judge(choice)  # 调用判断输入的函数决定执行哪个函数

4.计算函数曲线与x轴包围的面积 #2502

python 复制代码
a,b = input().split()
a=float(a)
b = float(b)
c = int(input())

import math
sum = 0
stp = abs(a-b)/c
nowi = a
for i in range(c):
    sum += abs(stp*(abs(math.sin(nowi))+abs(math.sin(nowi+stp)))/2)
    nowi+=stp
print(f'{sum:.2f}')

5.二分法求函数的零点 #37177

python 复制代码
n = int(input())
a = 1.5
ss=1
for i in range(n):
    ss/=10

b = 2.4

def func(x):
    return x**5-15*x**4+85*x**3-225*x**2+274*x-121
    
    
while(1):
    mid = (a+b)/2
    
    tp = func(mid)
    
    if tp>0:
        a=mid
    elif tp<0:
        b=mid
    if tp==0:
        print(f'{mid:.6f}')
        break
    
    ####################################
    if abs(tp)<10**(-n):
        print(f'{mid:.6f}')
        break
相关推荐
千天夜14 分钟前
深入剖析 `Path(path).parent.mkdir(parents=True, exist_ok=True)` —— 优雅处理目录创建的终极方案
python
简~76835 分钟前
python for in循环不能遍历整数怎么解决
python·大学生
aiqianji1 小时前
垂直专业的AI短篇小说写作软件有哪些特点?
人工智能·python
aqi001 小时前
15天学会AI应用开发(十三)上下文与RAG的阶段性总结
人工智能·python·大模型·ai编程·ai应用
程序员杰哥1 小时前
接口测试知识总结
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
大海变好AI1 小时前
专业的智能体算力架构高性价比品牌公司
python
江华森2 小时前
深入理解 Flask 实现原理
后端·python·flask
FriendshipT2 小时前
Ultralytics:解读SPPF模块
人工智能·pytorch·python·深度学习·目标检测
AOwhisky2 小时前
Python 基础语法(上篇 + 下篇)——综合自测题
linux·windows·python