编写一个程序,用户输入若干学生的姓名及任意数量的科目成绩,程序统计每个科目的最高分,并输出每科成绩的最高分以及对应的学生姓名。此外,程序还输出总分最高的学生及其总分。
时间: 2024-10-24 08:04:19 浏览: 48
为了实现这个功能,我们可以创建一个字典来存储学生信息,其中键是学生姓名,值是一个字典,记录每个学科的成绩。以下是使用Python编写的一个简单示例:
```python
students = {}
while True:
name = input("请输入学生姓名(输入'quit'结束):")
if name.lower() == 'quit':
break
scores = {}
for i in range(1, int(input("请输入该学生有多少门课:")) + 1):
subject = input(f"请输入第{i}门课的名称:")
score = float(input(f"请输入该课程的成绩:"))
scores[subject] = score
students[name] = scores
max_score_student = max(students, key=lambda x: sum(students[x].values()))
total_max_score = sum(students[max_score_student].values())
for student, scores in students.items():
for subject, score in scores.items():
if score == max(scores.values()):
print(f"学科'{subject}'的最高分是{score},对应的学生成绩者是{student}")
print(f"总分最高的学生是{max_score_student},其总分为{total_max_score}。")
阅读全文