从键盘输入某班学生某门课的成绩(每班最多不超过40人,具体人数由键盘),请编程输出最高分及学生学号。 编程要求 根据提示,在右侧编辑器补充函数FindMax(),然后在主函数中输入学生的学号和成绩信息,调用所写的函数,根据返回的值输出最高分及学生学号。
时间: 2024-09-30 09:05:57 浏览: 30
接收从键盘输入某班学生的学号、姓名、成绩,对学 生的成绩进行排序.zip
5星 · 资源好评率100%
这是一个简单的Python程序设计题目,我们可以使用字典数据结构来存储每个学生的成绩,并通过遍历和比较找到最高分及其对应的学号。以下是程序的一个示例实现:
```python
def input_scores():
num_students = int(input("请输入班级总人数(不超过40):"))
scores = {}
for i in range(1, num_students + 1):
student_id = i
score = float(input(f"请输入学生{student_id}的成绩:"))
scores[student_id] = score
return scores
def find_max(scores):
max_score = max(scores.values())
max_student_id = [k for k, v in scores.items() if v == max_score]
if len(max_student_id) > 1:
print("有多名同学得最高分,最高分为:", max_score)
else:
print("最高分学生学号为:", max_student_id[0], ",分数为:", max_score)
def main():
scores_dict = input_scores()
max_score_and_id = find_max(scores_dict)
print("最高分及对应的学生学号:", max_score_and_id)
if __name__ == "__main__":
main()
```
在这个程序中,`input_scores()`函数用于获取所有学生的成绩,`find_max()`函数负责查找最高分及其学号。在`main()`函数中调用这两个函数并打印结果。
阅读全文