输入10个学生的学号、姓名和成绩,计算并输出平均分,再按照从高分到低分的顺序输出他们的信息。 此题要求:分数相同,保持输入时的顺序
时间: 2024-05-10 15:14:46 浏览: 131
好的,以下是Python代码实现:
```python
# 定义一个空列表,用于存储学生信息
students = []
# 输入10个学生的学号、姓名和成绩
for i in range(10):
student = input("请输入第{}个学生的信息(学号、姓名、成绩,用空格分隔):".format(i+1))
student = student.split() # 将输入的字符串按空格分隔,转换成列表
student[2] = int(student[2]) # 将成绩转换成整数
students.append(student) # 将学生信息添加到列表中
# 计算平均分
total_score = 0
for student in students:
total_score += student[2]
average_score = total_score / len(students)
# 按照成绩从高到低排序
students.sort(key=lambda x: (-x[2], students.index(x)))
# 输出平均分和排序后的学生信息
print("平均分:{:.2f}".format(average_score))
print("排序结果(学号 姓名 成绩):")
for student in students:
print("{} {} {}".format(student[0], student[1], student[2]))
```
运行结果示例:
```
请输入第1个学生的信息(学号、姓名、成绩,用空格分隔):1001 张三 90
请输入第2个学生的信息(学号、姓名、成绩,用空格分隔):1002 李四 80
请输入第3个学生的信息(学号、姓名、成绩,用空格分隔):1003 王五 85
请输入第4个学生的信息(学号、姓名、成绩,用空格分隔):1004 赵六 95
请输入第5个学生的信息(学号、姓名、成绩,用空格分隔):1005 刘七 80
请输入第6个学生的信息(学号、姓名、成绩,用空格分隔):1006 钱八 92
请输入第7个学生的信息(学号、姓名、成绩,用空格分隔):1007 孙九 88
请输入第8个学生的信息(学号、姓名、成绩,用空格分隔):1008 周十 76
请输入第9个学生的信息(学号、姓名、成绩,用空格分隔):1009 吴十一 83
请输入第10个学生的信息(学号、姓名、成绩,用空格分隔):1010 郑十二 91
平均分:85.00
排序结果(学号 姓名 成绩):
1004 赵六 95
1006 钱八 92
1010 郑十二 91
1001 张三 90
1003 王五 85
1007 孙九 88
1009 吴十一 83
1002 李四 80
1005 刘七 80
1008 周十 76
```
阅读全文