请编写程序:输入n名学生的最终得分,输出最高分与最低分,以及获得最高分和最低分同学的编号。
时间: 2024-10-06 15:03:24 浏览: 129
当然,这是一个简单的Python程序示例,它可以帮助你实现这个功能:
```python
def find_scores(n):
# 创建一个列表存储学生信息,每个元素是一个包含姓名和分数的元组
student_scores = []
# 输入n名学生的得分
for i in range(1, n+1):
score = float(input(f"请输入第{i}名学生的得分:"))
student_scores.append((f"学生{i}", score))
# 对学生分数排序,找出最高分和最低分
sorted_scores = sorted(student_scores, key=lambda x: x[1])
max_score = sorted_scores[-1] # 最高分
min_score = sorted_scores[0] # 最低分
print(f"最高分({max_score[0]}): {max_score[1]}, 学生编号: {max_score[1].split(' ')[1]}")
print(f"最低分({min_score[0]}): {min_score[1]}, 学生编号: {min_score[1].split(' ')[1]}")
# 调用函数并传入学生人数
students = int(input("请输入学生总数:"))
find_scores(students)
```
在这个程序中,我们首先获取每位学生的得分,并将其作为元组添加到列表中。然后对这个元组列表按照分数进行排序,最后取出最高分和最低分及其对应的编号。
阅读全文