(2)编写一个程序,提示用户输入学生数量、各自的姓名和他们的成绩,并按照成绩 的降序来打印学生的姓名。
时间: 2024-06-03 07:09:44 浏览: 56
student_num = int(input("请输入学生数量:"))
students = []
for i in range(student_num):
name = input("请输入第{}个学生的姓名:".format(i+1))
score = float(input("请输入第{}个学生的成绩:".format(i+1)))
students.append((name, score))
students_sorted = sorted(students, key=lambda x: x[1], reverse=True)
print("学生成绩排名:")
for i in range(len(students_sorted)):
print("第{}名:{}".format(i+1, students_sorted[i][0]))
相关问题
编写程序,用户输入学号、姓名和成绩(用逗号隔开),按照降序输出学号、姓名和平均成绩。
好的,可以使用 Python 编写程序来实现。代码如下:
```python
# 定义一个空列表,用于存储学生信息
students = []
# 循环读取用户输入的学生信息,直到用户输入空行为止
while True:
# 读取用户输入的一行数据
line = input("请输入学生信息(学号,姓名,成绩,用逗号隔开):")
# 如果用户输入空行,则结束循环
if not line:
break
# 将输入的数据按逗号分隔,并转换为列表
data = line.split(",")
# 将学号、姓名和成绩组成一个元组,并添加到学生列表中
students.append((data[0], data[1], float(data[2])))
# 对学生列表进行排序,按照平均成绩降序排列
students.sort(key=lambda x: x[2], reverse=True)
# 输出排序后的学生信息
for student in students:
# 计算平均成绩
avg_score = round(sum(student[2:]) / len(student[2:]), 2)
# 输出学号、姓名和平均成绩
print("{}\t{}\t{}".format(student[0], student[1], avg_score))
```
使用方法:
1. 将上面的代码复制到 Python 环境中,保存为 `sort_students.py` 文件。
2. 在命令行中执行 `python sort_students.py` 命令。
3. 按照提示输入学生信息,每行一个,直到输入空行为止。
4. 程序会按照平均成绩降序输出学号、姓名和平均成绩。
编写一个程序,根据某学校高三模拟考试部分学生总成绩,降序输出学生成绩,并输出最高分和最低分
好的,以下是一个Python3的程序实现:
```python
scores = [89, 92, 78, 86, 94, 81, 88, 90, 75, 72] # 假设这是学生们的成绩列表
scores.sort(reverse=True) # 使用sort()方法对成绩进行降序排序
print("学生成绩降序排列:", scores) # 输出学生成绩降序排列
print("最高分:", scores[0]) # 输出最高分
print("最低分:", scores[-1]) # 输出最低分
```
程序的运行结果如下:
```
学生成绩降序排列: [94, 92, 90, 89, 88, 86, 81, 78, 75, 72]
最高分: 94
最低分: 72
```
这个程序实现了根据学生成绩降序输出,并输出最高分和最低分的功能。如果你有其他问题,可以继续问我哦。
阅读全文