好的,我将在之前的代码基础上添加一个 calculate_average
函数,用于计算所有学生的平均成绩。
以下是完整的代码:
# 学生成绩字典
students_scores = {}
# 添加学生信息的函数
def add_student(students, name, score):
# 将学生的姓名作为键,成绩作为值添加到字典中
students[name] = score
print(f"学生{name}的成绩已添加。")
# 计算平均成绩的函数
def calculate_average(students):
# 检查字典是否为空
if not students:
return 0
# 计算总分和学生人数
total_score = sum(students.values())
number_of_students = len(students)
# 计算平均成绩
average_score = total_score / number_of_students
return average_score
# 显示所有学生的成绩
def display_scores(students):
for name, score in students.items():
print(f"{name}: {score}")
# 主程序
if __name__ == "__main__":
# 使用一个循环来不断接受用户输入,直到用户选择退出
while True:
operation = input("请输入操作(add: 添加学生成绩, average: 计算平均成绩, display: 显示所有成绩, exit: 退出): ")
if operation == "add":
name = input("请输入学生姓名: ")
score = float(input("请输入学生成绩: "))
add_student(students_scores, name, score)
elif operation == "average":
average_score = calculate_average(students_scores)
print(f"所有学生的平均成绩是:{average_score}")
elif operation == "display":
if students_scores:
display_scores(students_scores)
else:
print("目前没有任何成绩记录。")
elif operation == "exit":
print("退出成绩管理系统。")
break
else:
print("无效的操作,请重新输入。")
在这个代码中:
add_student
函数负责添加学生的信息。calculate_average
函数负责计算所有学生的平均成绩。display_scores
函数负责显示所有学生的成绩。运行时,用户可以按照提示输入相应的命令执行不同的操作,直到选择退出程序。