一道Python题。希望能帮忙解答

2.(需要用到列表)编写程序,通过键盘读取5个以上学生的成绩列表(0-100之间),其中输入的最后一个成绩是你的学号后3位模除100,然后按照下面的方案对每个成绩进行分级... 2.(需要用到列表)编写程序,通过键盘读取5个以上学生的成绩列表(0-100之间),其中输入的最后一个成绩是你的学号后3位模除100,然后按照下面的方案对每个成绩进行分级:
成绩>=所有成绩的最高分-10,等级为“A”
成绩>=所有成绩的最高分-20,等级为“B”
成绩>=所有成绩的最高分-30,等级为“C”
成绩>=所有成绩的最高分-40,等级为“D”
成绩<所有成绩的最高分-40,等级为“F”
运行参考结果如下图:
请输入至少5个学生的成绩(用空格分隔): 84 95 72 64 32
百分制成绩为84, 等级为: B
百分制成绩为95, 等级为: A
百分制成绩为72, 等级为: c
百分制成绩为64, 等级为: D
百分制成绩为32, 等级为: F
展开
 我来答
百度网友c565fb9
2021-04-14 · TA获得超过441个赞
知道小有建树答主
回答量:400
采纳率:88%
帮助的人:110万
展开全部

给你来个充分利用列表特性的,代码如下:

Python代码


HCORE = 100

def locate(v):
rank = [['A', 10], ['B', 20], ['C', 30], ['D', 40], ['F', 100]]
for i in rank:
if HCORE - int(v) <= i[1]:
return i[0]


grades = []
text = input('请输入至少5个学生的成绩(用空格分隔):')
grades = text.split(' ')
for i in grades: print('百分制成绩为{0}, 等级为:{1}'.format(i, locate(i)))


输出:

输出效果



潇洒人生重头再来2f
2021-04-11
知道答主
回答量:48
采纳率:33%
帮助的人:1.7万
展开全部
lst=[]
for i in range(5):
try:
a='请输入0-100的成绩' if i==0 else '继续输入'
b=float(input(a))
lst.append(b)
except:
print('只能输入实数')
highest=max(lst)
print(highest)
print(lst)
for i in lst:#最重要的是这个
if i >= highest - 10:
print('A')
elif i>=highest-20:
print('B')
elif i>=highest-30:
print('C')
elif i>=highest-40:
print('D')
elif i<highest-50:
print('E')

有什么看不明白的可以问哦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hb丰收
2021-04-11 · TA获得超过592个赞
知道小有建树答主
回答量:2971
采纳率:42%
帮助的人:209万
展开全部
其中输入的最后一个成绩是你的学号后3位模除100???
追问
这是这样要求的。不过具体写的话可以随便输入数字……☺️
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式