Python程序笔记2023003
成绩评级程序
- 分数 < 60,D
- 60 <= 分数 < 80,C
- 80 <= 分数 < 90,B
- 90 <= 分数 < 100,A
- 分数 == 100,S
# 输入分数
score = int(input("请输入分数:"))
# 判断评级
if score < 0 or score > 100:
print("无效的分数")
elif score < 60:
print("评级为D")
elif score < 80:
print("评级为C")
elif score < 90:
print("评级为B")
elif score < 100:
print("评级为A")
else:
print("评级为S")
elif 是 Python 中的一个关键字,它的意思是“如果前面的条件不成立,那么尝试这个条件”。
它用来在 if 语句中添加多个分支,每个分支都有一个不同的条件和对应的代码块。例如:
if a > b:
print("a大于b")
elif a == b:
print("a等于b")
elif a < b:
print("a小于b")
else:
print("无效的输入")
elif 和 else 的区别是,elif 后面需要跟一个条件,而 else 后面不需要。
elif 用来在 if 语句中添加多个互斥的分支,只有当前面的条件都不成立时,才会执行 elif 后面的代码块。
else 用来在 if 语句中添加一个默认的分支,只有当前面的条件都不成立时,才会执行 else 后面的代码块。
修改代码,让程序可以不断接收输入,直至用户输入小写字母 e 结束程序。
# 输入分数
score = input("请输入分数:")
# 判断评级
while score != "e":
score = int(score)
if score < 0 or score > 100:
print("无效的分数")
elif score < 60:
print("评级为D")
elif score < 80:
print("评级为C")
elif score < 90:
print("评级为B")
elif score < 100:
print("评级为A")
else:
print("评级为S")
# 再次输入分数
score = input("请输入分数:")
优化一下代码,让它更简洁和高效。
# 输入分数
score = input("请输入分数:")
# 判断评级
while score != "e":
score = int(score)
if 0 <= score <= 100:
# 使用字典存储评级
grade_dict = {100: "S", 90: "A", 80: "B", 60: "C"}
# 找到最接近的评级
grade = grade_dict.get(min(grade_dict.keys(), key=lambda x: abs(x - score)))
# 如果没有找到,说明评级为D
if not grade:
grade = "D"
print(f"评级为{grade}")
else:
print("无效的分数")
# 再次输入分数
score = input("请输入分数:")