包括学号姓名3门课程成绩,若输入为i则按第i门课成绩降序输出成绩表
时间: 2024-05-03 11:17:08 浏览: 59
好的,我可以帮你实现这个功能。以下是一个简单的 Python 代码示例:
```python
students = [
{'name': '张三', 'id': '20210001', 'score1': 80, 'score2': 90, 'score3': 70},
{'name': '李四', 'id': '20210002', 'score1': 70, 'score2': 85, 'score3': 90},
{'name': '王五', 'id': '20210003', 'score1': 90, 'score2': 75, 'score3': 80},
{'name': '赵六', 'id': '20210004', 'score1': 85, 'score2': 80, 'score3': 85},
]
def print_score_table(order_by):
if order_by == '1':
key = 'score1'
elif order_by == '2':
key = 'score2'
elif order_by == '3':
key = 'score3'
else:
print('无效输入')
return
sorted_students = sorted(students, key=lambda x: x[key], reverse=True)
print('姓名\t学号\t成绩1\t成绩2\t成绩3')
for student in sorted_students:
print('{}\t{}\t{}\t{}\t{}'.format(student['name'], student['id'], student['score1'], student['score2'], student['score3']))
order_by = input('请输入要排序的列数(1/2/3):')
print_score_table(order_by)
```
这个程序首先定义了一个包含学生信息的列表 `students`,每个学生的信息包括姓名、学号和三门课程的成绩。然后定义了一个函数 `print_score_table`,该函数根据输入的参数按指定列进行排序,并输出成绩表。最后,程序从用户输入中获取排序列的信息,并调用 `print_score_table` 函数输出成绩表。
你可以根据自己的需要修改该程序,比如增加学生信息的输入、输出格式的调整等。
阅读全文