用数字一或二切换相应程序实现五级制成绩或平均成绩程序的编制
时间: 2023-05-15 19:05:17 浏览: 58
非常感谢您的提问!以下是实现五级制成绩或平均成绩程序的代码:
```python
# 实现五级制成绩或平均成绩程序
def calc_grade(score, mode):
if mode == 1:
if score >= 90:
return "优秀"
elif score >= 80:
return "良好"
elif score >= 70:
return "中等"
elif score >= 60:
return "及格"
else:
return "不及格"
elif mode == 2:
if score >= 90:
return 5.0
elif score >= 80:
return 4.0
elif score >= 70:
return 3.0
elif score >= 60:
return 2.0
else:
return 0.0
else:
return None
def calc_avg_score(scores):
if len(scores) == 0:
return None
else:
return sum(scores) / len(scores)
def main():
scores = []
mode = 0
while True:
print("请选择模式:")
print("1. 五级制成绩")
print("2. 平均成绩")
print("3. 退出程序")
mode = int(input("请输入数字 1 或 2 或 3:"))
if mode == 3:
break
elif mode != 1 and mode != 2:
print("输入错误,请重新输入!")
continue
else:
while True:
score = input("请输入成绩(输入 q 结束输入):")
if score == "q":
break
else:
try:
score = float(score)
if mode == 1:
grade = calc_grade(score, mode)
print("成绩为:", grade)
elif mode == 2:
scores.append(score)
avg_score = calc_avg_score(scores)
print("平均成绩为:", avg_score)
except ValueError:
print("输入错误,请重新输入!")
if __name__ == "__main__":
main()
```
希望这个程序能够帮到您!