使用python解决下面问题,有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),其中学号和姓名都是以字符串方式存储,计算出每名学生的平均成绩, 输入格式: 分别在5行中输入5名学生的信息。按照学号、姓名、3门课的成绩顺序输入,学号和姓名是均不超过4个字符的字符串,字符串中不包含空格、换行符和制表符,一名学生的各个数据之间用一个空格间隔。 输出格式: 分别在5行中输出5名学生的信息。按照学号、姓名、3门课的平均成绩顺序输出,其中学号和姓名输出占5列列宽,平均成绩保留1位小数,输出占5列列宽。 输入样例: 1 aa 78 45 12 2 bb 95 85 95 3 cc 75 45 65 4 dd 74 84 95 5 ee 48 49 56 输出样例: 1 aa 45.0 2 bb 91.7 3 cc 61.7 4 dd 84.3 5 ee 51.0
时间: 2024-02-04 19:02:17 浏览: 82
python学生成绩管理系统合集.zip
5星 · 资源好评率100%
可以使用字典来存储每个学生的信息,然后遍历字典计算平均成绩并输出即可。具体实现代码如下:
```python
# 存储学生信息的字典
students = {}
# 从键盘输入学生信息
for i in range(5):
info = input().split()
# 将学号、姓名和成绩分别存储到字典中
students[info[0]] = {
'name': info[1],
'score': [int(info[j]) for j in range(2, 5)]
}
# 计算每个学生的平均成绩
for stu_id, info in students.items():
avg_score = sum(info['score']) / len(info['score'])
# 输出学生信息及平均成绩
print('{:<5}{:<5}{:>5.1f}'.format(stu_id, info['name'], avg_score))
```
注意输出格式中的对齐方式和列宽设置。其中,`{:<5}`表示左对齐并占5列,`{:>5.1f}`表示右对齐并占5列,保留1位小数。
阅读全文