.编写程序,用户输入学号、姓名和成绩(用号隔开),按照降序输出学号、姓名和平均成绩。 例如: 总分值:5分 请输入学号,姓名和成绩(用逗号隔开):1001,张三,80 请输入学号,姓名和成绩(用逗号隔开):1002,李四,100 请输入学号,姓名和成绩(用逗号隔开):1001,张三,70 请输入学号,姓名和成绩(用逗号隔开):1002,李四,90 请输入学号,姓名和成绩(用逗号隔开): 1002张三95.0 1001李四75.0
时间: 2023-06-25 17:02:02 浏览: 122
以下是Python语言的程序代码实现:
```
# 定义一个字典,用于存储学生信息和成绩
students = {}
# 循环输入学生信息和成绩
while True:
info = input("请输入学号,姓名和成绩(用逗号隔开):")
if info == "":
break # 输入为空时结束输入循环
info_list = info.split(",")
if len(info_list) != 3:
print("输入格式错误,请重新输入!")
continue
try:
score = float(info_list[2])
except ValueError:
print("成绩输入格式错误,请重新输入!")
continue
if info_list[0] in students:
students[info_list[0]]["score"].append(score)
else:
students[info_list[0]] = {"name": info_list[1], "score": [score]}
# 计算每个学生的平均成绩并按照降序输出
sorted_students = sorted(students.items(), key=lambda x: sum(x[1]["score"])/len(x[1]["score"]), reverse=True)
for student in sorted_students:
print("{}{}{:.1f}".format(student[0], student[1]["name"], sum(student[1]["score"])/len(student[1]["score"])))
```
程序运行示例:
```
请输入学号,姓名和成绩(用逗号隔开):1001,张三,80
请输入学号,姓名和成绩(用逗号隔开):1002,李四,100
请输入学号,姓名和成绩(用逗号隔开):1001,张三,70
请输入学号,姓名和成绩(用逗号隔开):1002,李四,90
请输入学号,姓名和成绩(用逗号隔开):
1002李四95.0
1001张三75.0
```
阅读全文