这个问题要求输入一个班级10名同学的信息,每个学生都有学号、姓名和三门课程的成绩。请编写程序输入全班同学的信息,并且按第一门课程的成绩从小到大排序后输出。
时间: 2023-11-27 19:52:05 浏览: 107
下面是一个 Python 的实现,使用了列表存储学生信息,并且使用了内置的 `sorted` 函数来进行排序:
```python
students = []
# 输入学生信息
for i in range(10):
student = {}
student['id'] = input('请输入第{}个学生的学号:'.format(i+1))
student['name'] = input('请输入第{}个学生的姓名:'.format(i+1))
student['score1'] = float(input('请输入第{}个学生的第一门课程成绩:'.format(i+1)))
student['score2'] = float(input('请输入第{}个学生的第二门课程成绩:'.format(i+1)))
student['score3'] = float(input('请输入第{}个学生的第三门课程成绩:'.format(i+1)))
students.append(student)
# 按第一门课程成绩排序
students_sorted = sorted(students, key=lambda x: x['score1'])
# 输出排序后的学生信息
for student in students_sorted:
print('学号:{},姓名:{},第一门课程成绩:{},第二门课程成绩:{},第三门课程成绩:{}'.format(
student['id'], student['name'], student['score1'], student['score2'], student['score3']))
```
在上面的代码中,使用了一个空列表 `students` 存储学生信息,使用了一个循环来输入学生信息。在输入完毕后,使用内置的 `sorted` 函数,传入一个 lambda 函数作为排序的 key,以第一门课程成绩作为排序的依据。最后使用循环输出排序后的学生信息。
阅读全文