武汉理工大学 python实验三

第1关:上课 or 休息

任务描述

本关任务:按照武汉理工大学课表时间安排,编写一个根据输入的时间输出课堂的节数or休息。

相关知识

,

编程要求

本题设定上课时间为08:00至12:20(早课),14:00至18:20(中课),19:00至21:25(晚课),其余时间为休息时间。 按上图所示,根据输入的时间hh:mm,输出早课中课晚课或者休息。 本题中不允许使用eval()转换数据类型,每个上课时间段的最后一分钟是上课时间。 测试保证输入的时间格式完整并合法,范围在00:00至23:59

a = '08:00'
b = '12:20'
c = '14:00'
d = '18:20'
e = '19:00'
f = '21:25'
t = input()
if a<=t<=b:
    print("早课")
elif c<t<=d:
    print("中课")
elif e<t<=f:
    print("晚课")
else:
    print("休息")

第2关:百分制成绩转换五分

任务描述

编写一个学生成绩转换程序,用户输入百分制的学生成绩,成绩大于等于90且小于等于100的输出为A,成绩大于或等于80且小于90的输出为B,成绩大于或等于70且小于80的输出为C,成绩大于或等于60且小于70的输出为D,成绩小于60且大于等于0的输出为E,如果输出的成绩大于100或小于0,输出data error!

输入格式

输入一个数字,代表百分制成绩。

输出格式

A、B、C、D、E中的一个字母,表示五分制的成绩等级;或输出data error!

a = int(input())
if 0<=a<=100:
    b='EEEEEEDCBAA'
    print(b[a//10])     #向下取整
else:
    print("data error!")

第3关:a除以b

任务描述

输出实数a除以b的结果,计算结果四舍五入,保留2位小数。

输入格式

输入包括两行 每行一个实数, b不能等于0

输出格式

当用户输入b为0时输出除零错误 其他情况下输出一个保留2位小数的实数

a = eval(input())
b = eval(input())
if b==0:
    print("除零错误")
else:
    c=a/b
    print(round(c,2))

第4关:鸡兔同笼

任务描述

本关任务:编写一个解决鸡兔同笼问题的小程序。

鸡兔同笼

大约在 1500 年前,《孙子算经》中记载一个有趣的问题:今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?

大概的意思是:有若干只鸡兔同在一个笼子里,从上面数,有 35 个头,从下面数,有 94 只脚,问笼中各有多少只鸡和兔?

请编一个程序,用户在同一行内输入两个整数,代表头和脚的数量,编程计算笼中各有多少只鸡和兔(假设鸡和兔都正常,无残疾),如无解则输出`“Data Error!

 
  1. #参考下面的示例代码,从同一行读入两个数
  2. a, b = input().split() # 将输入的以空格分隔的两个数命名为a和b
  3. a, b = map(int,input().split(',')) # 将输入的以逗号分隔的两个值,转换为整数后命名为a和b
a, b = map(int,input().split())
r=(b/2-a)
c=a-r
if a < 0 or b < 0:
    print("Data Error!")
elif c-int(c)!=0 or c < 0 or r < 0:
    print("Data Error!")
else:
    print(f"有{int(c)}只鸡,{int(r)}只兔")

第5关:物不知数

问题描述

“物不知数”出自《孙子算经》。题目为:今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”。

意思是说有一些物品,不知道有多少个,如果一次33 个地数,还多出 2 个;一次55 个地数则多出 3 个;一次 77 个地数会多出 2 个。 现假设物品总数不超过 n (n<=1000),请编程计算满足条件的物品个数并输出。

编程要求

根据提示,在右侧编辑区补充代码,计算满足条件的物品个数并输出。

测试说明

平台会对你编写的代码进行测试:

输入格式: 输入为一个正整数 n,题目保证 0 < n <= 1000

输出格式: 输出不超过 n 且满足条件的物品个数 m,如果有多个解,则分行输出,每行一个解;如果无解则输出 No solution!

n = int(input())
flag = 0
for i in range(n+1):
    if i%3==2 and i%5==3 and i%7==2:
        print(i)    
        flag = 1
if flag == 0:
    print("No solution!")

第6关:宝塔上的琉璃灯

问题描述: 有一座八层宝塔,每一层都有一些琉璃灯,每一层的灯数都是上一层的二倍,已知共有 765 盏琉璃灯,计算并输出每层各有多少盏琉璃灯。

编程要求

编写一个宝塔上的琉璃灯的小程序,计算并输出每层各有多少盏琉璃灯。

测试说明

平台会对你编写的代码进行测试:

输入格式 本题没有输入。

输出格式 输出为 8 行 每行都是一个正整数,从上往下数字依次增大,每个数字代表本层宝塔上的琉璃灯数目。

# from itertools import count
# for first in count(1,1):
#     floors=[first*(2**i) for i in range(8)]
#     if sum(floors)==765:
#         for index,value in enumerate(floors,start=1):
#             print(f'{value}')
#         break

# 方法二
for x in range(1,10):
    if x+2*x+4*x+8*x+16*x+32*x+64*x+128*x==765:
        print(x)
        print(2*x)
        print(4*x)
        print(8*x)
        print(16*x)
        print(32*x)
        print(64*x)
        print(128*x)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值