输入5位同学的编号、姓名以及3门课程的成绩。假设学号长度不超过6位,姓名长度不超过8位,且姓名中不包含空格。
时间: 2024-02-09 11:12:02 浏览: 56
好的,那么这里给出一个示例代码,请按照要求输入数据:
```python
# 创建一个空字典,用于存储每位同学的信息和成绩
students = {}
# 循环输入每位同学的信息和成绩
for i in range(5):
# 输入学号、姓名和3门课程的成绩
print("请输入第%d位同学的信息:" % (i+1))
sid = input("学号:")
name = input("姓名:")
score1 = float(input("第1门课程成绩:"))
score2 = float(input("第2门课程成绩:"))
score3 = float(input("第3门课程成绩:"))
# 将同学的信息和成绩存入字典中
students[sid] = {'name': name, 'scores': [score1, score2, score3]}
# 计算每门课程的平均成绩
avg_scores = []
for i in range(3):
total_score = 0
for sid in students:
total_score += students[sid]['scores'][i]
avg_score = total_score / len(students)
avg_scores.append(avg_score)
# 输出每门课程的平均成绩
print("每门课程的平均成绩分别为:")
print("第1门课程:%.2f" % avg_scores[0])
print("第2门课程:%.2f" % avg_scores[1])
print("第3门课程:%.2f" % avg_scores[2])
# 计算全体同学的平均成绩
total_score = 0
for sid in students:
total_score += sum(students[sid]['scores'])
avg_score = total_score / (len(students) * 3)
# 输出全体同学的平均成绩
print("全体同学的平均成绩为:%.2f" % avg_score)
```
这里假设每位同学的学号是唯一的,如果实际情况不是这样,可以考虑将学号和姓名作为一个复合键来唯一标识每位同学。
阅读全文