用Python编写一个程序,设计一个嵌套的字典,形式为{姓名1:{课程名称1:分数1,课程名称2:分数2,…},…},输入一些数据,然后计算每个学生的总分,各科平均分。
时间: 2024-11-24 13:40:47 浏览: 4
《Python 程序设计》课程整体设计.pdf
当然可以,下面是一个简单的Python程序,它允许用户输入学生信息(姓名和课程成绩),并将数据存储在一个嵌套字典中。之后,程序会计算每个学生的总分和各科平均分。
```python
def input_student_data():
student_data = {}
while True:
name = input("请输入学生姓名(输入'quit'结束):")
if name == 'quit':
break
grades = {}
for i in range(1, 4): # 假设最多有3门课程
course_name = f"课程{i}"
grade = int(input(f"{course_name}的成绩:"))
grades[course_name] = grade
student_data[name] = grades
return student_data
def calculate_scores(data):
results = {}
for student, grades in data.items():
total_score = sum(grades.values())
average_score = total_score / len(grades) if grades else 0
results[student] = {"总分": total_score, "平均分": average_score}
return results
# 获取并处理用户输入
students = input_student_data()
final_results = calculate_scores(students)
# 输出结果
for student, scores in final_results.items():
print(f"{student}的总分为:{scores['总分']}, 平均分为:{scores['平均分']}")
阅读全文