武汉理工大学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
相关推荐
Amelia111111几秒前
day33
python
数据知道5 分钟前
一文掌握向量数据库Chroma的详细使用
数据库·python·向量数据库
计算机毕设指导626 分钟前
基于微信小程序+django连锁火锅智慧餐饮管理系统【源码文末联系】
java·后端·python·mysql·微信小程序·小程序·django
colourmind27 分钟前
记录一次vscode debug conda python 使用报错问题排查
vscode·python·conda
智航GIS30 分钟前
2.1 变量与数据类型
开发语言·python
旧梦吟31 分钟前
脚本工具 批量md转html
前端·python·html5
BoBoZz191 小时前
DeformPointSet 基于控制网格(Control Mesh)的 3D 几何体形变
python·vtk·图形渲染·图形处理
不会飞的鲨鱼1 小时前
抖音验证码滑动轨迹原理(续)
javascript·爬虫·python
翔云 OCR API1 小时前
文档识别接口:赋能企业高效办公与加速信息的数字化转型
开发语言·人工智能·python·计算机视觉·ocr·语音识别
咕噜签名-铁蛋1 小时前
游戏搭建与云服务器:构建高效稳定的游戏运营架构
python