请帮我写一个存储全班45人的姓名和数学成绩并按照数学成绩降序排列
这里提供一种使用Python的方法来实现:
- 定义一个空的字典来存储姓名和成绩:
score_dict = {}
- 循环45次,分别输入每个学生的姓名和数学成绩,将其添加到字典中:
for i in range(45):
name = input('请输入第{}个学生的姓名:'.format(i+1))
score = float(input('请输入第{}个学生的数学成绩:'.format(i+1)))
score_dict[name] = score
- 使用sorted函数对字典按照成绩降序排列:
sorted_scores = sorted(score_dict.items(), key=lambda x: x[1], reverse=True)
- 打印排序后的结果:
print('按照数学成绩降序排列的结果为:')
for i, item in enumerate(sorted_scores):
print('第{}名学生:{},数学成绩为:{}'.format(i+1, item[0], item[1]))
完整代码如下:
score_dict = {}
for i in range(45):
name = input('请输入第{}个学生的姓名:'.format(i+1))
score = float(input('请输入第{}个学生的数学成绩:'.format(i+1)))
score_dict[name] = score
sorted_scores = sorted(score_dict.items(), key=lambda x: x[1], reverse=True)
print('按照数学成绩降序排列的结果为:')
for i, item in enumerate(sorted_scores):
print('第{}名学生:{},数学成绩为:{}'.format(i+1, item[0], item[1]))
原文地址: http://www.cveoy.top/t/topic/b4Pk 著作权归作者所有。请勿转载和采集!