一位数学老师讲授多个班的微积分课程。每个班人数不固定。请用python【循环语句】编程帮老师实现成绩录入功能,最后显示每个班的人数、该班所有同学成绩列表、平均成绩(保留小数点后两位)
时间: 2023-06-03 10:04:18 浏览: 140
用Python编程实现学生成绩管理,能按学期、按班级对学生成绩进行录入、修改、统计、查询和输出
好的,这是一个关于成绩录入和计算平均成绩的问题,我可以回答。以下是用Python编写程序的步骤:
1. 首先,定义一个字典,用于存储班级名称、班级人数和学生成绩信息:
```
classes = {
'class1': {
'num': 0,
'scores': []
},
'class2': {
'num': 0,
'scores': []
},
# 其他班级的信息也可以在这里添加
}
```
2. 接下来,使用循环语句逐个录入成绩,可以使用`while`或`for`循环语句,这里我们使用`for`循环演示:
```
for class_name in classes:
num = int(input(f"请输入{class_name}的人数: "))
classes[class_name]['num'] = num
for i in range(num):
score = float(input(f"请输入{class_name}第{i+1}个学生的成绩: "))
classes[class_name]['scores'].append(score)
```
3. 最后,计算每个班级的平均成绩,并输出结果:
```
for class_name in classes:
scores = classes[class_name]['scores']
avg_score = sum(scores) / len(scores)
print(f"{class_name}班:\n 人数:{classes[class_name]['num']}\n 成绩列表:{scores}\n 平均成绩:{avg_score:.2f}")
```
完整的程序如下:
```
classes = {
'class1': {
'num': 0,
'scores': []
},
'class2': {
'num': 0,
'scores': []
},
# 其他班级的信息也可以在这里添加
}
for class_name in classes:
num = int(input(f"请输入{class_name}的人数: "))
classes[class_name]['num'] = num
for i in range(num):
score = float(input(f"请输入{class_name}第{i+1}个学生的成绩: "))
classes[class_name]['scores'].append(score)
for class_name in classes:
scores = classes[class_name]['scores']
avg_score = sum(scores) / len(scores)
print(f"{class_name}班:\n 人数:{classes[class_name]['num']}\n 成绩列表:{scores}\n 平均成绩:{avg_score:.2f}")
```
阅读全文