控制台循环输入3个学生的姓名、年龄、成绩,并保 存到字典列表当中,结构为[{学生1,学生2,学生 3}], 在控制台输出如下结果: 1)根据年龄升序排序 2)根据成绩降序排序
时间: 2023-06-14 21:03:52 浏览: 121
下面是代码实现:
```python
# 定义列表存储学生信息
students = []
# 循环输入学生信息
for i in range(3):
name = input("请输入第{}个学生的姓名:".format(i+1))
age = int(input("请输入第{}个学生的年龄:".format(i+1)))
score = int(input("请输入第{}个学生的成绩:".format(i+1)))
# 将学生信息保存到字典中
student = {"name": name, "age": age, "score": score}
# 将字典添加到列表中
students.append(student)
# 根据年龄升序排序
students_sorted_age = sorted(students, key=lambda x: x["age"])
# 根据成绩降序排序
students_sorted_score = sorted(students, key=lambda x: x["score"], reverse=True)
# 输出排序结果
print("根据年龄升序排序:")
for student in students_sorted_age:
print("姓名:{},年龄:{},成绩:{}".format(student["name"], student["age"], student["score"]))
print("根据成绩降序排序:")
for student in students_sorted_score:
print("姓名:{},年龄:{},成绩:{}".format(student["name"], student["age"], student["score"]))
```
运行结果:
```
请输入第1个学生的姓名:张三
请输入第1个学生的年龄:20
请输入第1个学生的成绩:90
请输入第2个学生的姓名:李四
请输入第2个学生的年龄:18
请输入第2个学生的成绩:80
请输入第3个学生的姓名:王五
请输入第3个学生的年龄:22
请输入第3个学生的成绩:85
根据年龄升序排序:
姓名:李四,年龄:18,成绩:80
姓名:张三,年龄:20,成绩:90
姓名:王五,年龄:22,成绩:85
根据成绩降序排序:
姓名:张三,年龄:20,成绩:90
姓名:王五,年龄:22,成绩:85
姓名:李四,年龄:18,成绩:80
```
阅读全文