引自免费微信小程序:皆我百晓生
在您的代码基础上,您可以稍微修改一下,以便同时接收并处理多个成绩。这里是一个改进版的代码,可以接受任意数量的成绩输入,并为每个成绩计算对应的字母等级。
def convert_to_grade(score):
if score >= 90:
return 'A'
elif score >= 80:
return 'B'
elif score >= 70:
return 'C'
elif score >= 60:
return 'D'
else:
return 'E'
scores = input("请输入成绩,各成绩之间用逗号分隔:").split(',')
grades = []
for score in scores:
try:
score = float(score)
grades.append(convert_to_grade(score))
except ValueError:
print(f"无效的分数: {score}")
print("\n成绩对应等级:")
for i, grade in enumerate(grades, start=1):
print(f"{i}. {score}, 等级: {grade}")
这段代码首先定义了一个函数convert_to_grade用于将单个成绩转换为其对应的字母等级。接着,它接收用户输入的一串由逗号分隔的成绩,然后对每个成绩进行处理。如果输入的是一个有效的分数,就将其转换为字母等级并添加到结果列表中。如果输入的不是有效的分数,则会提示错误信息。最后,程序会打印出所有成绩及其对应的字母等级。
你可以这样运行这个程序:
请输入成绩,各成绩之间用逗号分隔:90,44,68;71,68
无效的分数: ;
成绩对应等级:
1. 90.0, 等级: A
2. 44.0, 等级: E
3. 68.0, 等级: D
4. 71.0, 等级: C
5. 68.0, 等级: D
注意,在输入成绩时,确保没有多余的标点符号,例如分号;。只需用逗号 , 来分隔不同的成绩。