从键盘输入 5 个学生三门课程的成绩求每个学生各门课的平均分,并按平均分从高到低的顺序输出每个学生各门课程的成绩和平均成绩
时间: 2024-05-11 21:19:43 浏览: 57
好的,以下是一个Python的示例代码:
```python
# 定义学生列表和成绩列表
students = []
scores = []
# 从键盘输入5个学生的成绩
for i in range(5):
student = input("请输入第{}个学生的姓名:".format(i+1))
math = float(input("请输入{}的数学成绩:".format(student)))
english = float(input("请输入{}的英语成绩:".format(student)))
computer = float(input("请输入{}的计算机成绩:".format(student)))
# 将学生姓名和成绩加入列表
students.append(student)
scores.append([math, english, computer])
# 计算每个学生的平均成绩
averages = []
for i in range(5):
average = sum(scores[i]) / 3
averages.append(average)
# 将学生列表、成绩列表和平均成绩列表合并为一个元组列表
data = list(zip(students, scores, averages))
# 按平均成绩从高到低排序
data.sort(key=lambda x: x[2], reverse=True)
# 输出每个学生各门课程的成绩和平均成绩
for student, score, average in data:
print("{}的数学成绩为{},英语成绩为{},计算机成绩为{},平均成绩为{}".format(student, score[0], score[1], score[2], average))
```
示例输出:
```
请输入第1个学生的姓名:Alice
请输入Alice的数学成绩:85
请输入Alice的英语成绩:90
请输入Alice的计算机成绩:80
请输入第2个学生的姓名:Bob
请输入Bob的数学成绩:70
请输入Bob的英语成绩:75
请输入Bob的计算机成绩:80
请输入第3个学生的姓名:Charlie
请输入Charlie的数学成绩:90
请输入Charlie的英语成绩:85
请输入Charlie的计算机成绩:95
请输入第4个学生的姓名:David
请输入David的数学成绩:80
请输入David的英语成绩:70
请输入David的计算机成绩:75
请输入第5个学生的姓名:Eve
请输入Eve的数学成绩:95
请输入Eve的英语成绩:95
请输入Eve的计算机成绩:100
Eve的数学成绩为95.0,英语成绩为95.0,计算机成绩为100.0,平均成绩为96.66666666666667
Charlie的数学成绩为90.0,英语成绩为85.0,计算机成绩为95.0,平均成绩为90.0
Alice的数学成绩为85.0,英语成绩为90.0,计算机成绩为80.0,平均成绩为85.0
David的数学成绩为80.0,英语成绩为70.0,计算机成绩为75.0,平均成绩为75.0
Bob的数学成绩为70.0,英语成绩为75.0,计算机成绩为80.0,平均成绩为75.0
```
阅读全文