帮我写个python程序有n个学生,每个学生的数据包括学号,姓名, 三门课成绩,平均成绩。编写一个程序,完成以 下功能: (1)第一行输入一个正整数n,下面n行n个学生的学号,姓名,和三门 课成绩; (2)计算每个学生的平均成绩并输出所有学生从高到低排序后 的数据(包括该学生的学号,姓名,平均分(保留两位小数)
时间: 2023-12-26 10:26:47 浏览: 111
以下是一个简单的 Python 程序,可以实现你所需的功能:
```python
n = int(input("请输入学生人数:"))
students = []
for i in range(n):
stu = input("请输入第{}个学生的信息(学号、姓名、成绩1、成绩2、成绩3,用空格隔开):".format(i+1)).split()
stu_num, stu_name, score1, score2, score3 = stu
score1, score2, score3 = float(score1), float(score2), float(score3)
avg_score = round((score1 + score2 + score3) / 3, 2)
students.append((stu_num, stu_name, avg_score))
students.sort(key=lambda x: x[2], reverse=True)
print("所有学生的数据(按平均分从高到低排序):")
for stu in students:
print("{}\t{}\t{}".format(stu[0], stu[1], stu[2]))
```
程序运行时,会首先要求输入学生人数,然后逐个输入每个学生的信息。程序会计算每个学生的平均成绩,并将所有学生数据按平均分从高到低排序后输出。
注意:这个程序没有做输入的校验,输入不符合要求的数据可能会导致程序崩溃。建议在实际使用时加入相应的校验机制。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044736.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)