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("请输入分数:")

posted on 2023-04-11 12:19  Tauseer  阅读(169)  评论(0编辑  收藏  举报

导航