编写程序,用户输入学号、姓名和成绩(用逗号隔 开),按照降序输出学号、姓名和平均成绩。 例如: 请输入学号,姓名和成绩(用逗号隔开):1001,张三 80 100 70 90 请输入学号,姓名和成绩(用逗号隔开):1002,李四, 请输入学号,姓名和成绩(用逗号隔开):1001,张三, 请输入学号,姓名和成绩(用逗号隔开):1002,李四, 请输入学号,姓名和成绩(用逗号隔开): 1002 ¾= 95.0 1001 # 75.0
时间: 2024-03-05 11:51:40 浏览: 94
编写程序实现以下功能:从键盘输入十个整数,用冒泡法排序后按从小到大输出
好的,这是一个简单的 Python 程序,可以满足您的需求:
```
students = []
while True:
info = input("请输入学号,姓名和成绩(用逗号隔开):")
if info == "":
break
info_list = info.split(",")
student = {
"id": info_list[0],
"name": info_list[1],
"grades": [float(g) for g in info_list[2:]]
}
student["avg_grade"] = sum(student["grades"]) / len(student["grades"])
students.append(student)
students = sorted(students, key=lambda x: x["avg_grade"], reverse=True)
for student in students:
print(student["id"], student["name"], student["avg_grade"])
```
程序的核心思想是:
1. 循环输入学生信息,直到输入空字符串为止;
2. 将每个学生的信息存储为字典,并计算平均成绩;
3. 将所有学生按照平均成绩降序排列;
4. 输出每个学生的学号、姓名和平均成绩。
请注意,程序假设输入的成绩都是数字,并且没有错误。如果需要更加健壮的程序,需要进行更多的输入检查和错误处理。
阅读全文