python输入3名学生的成绩(数学、语文、英语),输出各科目的平均成绩。
时间: 2024-09-20 22:09:27 浏览: 47
在Python中,你可以通过构建一个简单的字典结构来收集每个学生各科的成绩,并计算总分后再除以科目数来得到平均成绩。下面是一个示例代码:
```python
# 定义一个函数来获取并计算平均成绩
def calculate_average(scores):
total = sum(scores.values()) # 计算所有科目成绩之和
num_subjects = len(scores) # 获取科目数量
average = total / num_subjects if num_subjects > 0 else 0 # 防止除以零错误
return average
# 输入三个学生的成绩
student1 = {'math': float(input("请输入学生1的数学成绩: ")),
'chinese': float(input("请输入学生1的语文成绩: ")),
'english': float(input("请输入学生1的英语成绩: "))}
student2 = {'math': float(input("请输入学生2的数学成绩: ")),
'chinese': float(input("请输入学生2的语文成绩: ")),
'english': float(input("请输入学生2的英语成绩: "))}
student3 = {'math': float(input("请输入学生3的数学成绩: ")),
'chinese': float(input("请输入学生3的语文成绩: ")),
'english': float(input("请输入学生3的英语成绩: "))}
# 计算并打印各科目的平均成绩
for student, scores in [student1, student2, student3]:
avg_math = calculate_average({**scores, 'math': scores.get('math', 0)})
avg_chinese = calculate_average({**scores, 'chinese': scores.get('chinese', 0)})
avg_english = calculate_average({**scores, 'english': scores.get('english', 0)})
print(f"学生{student['math']}的平均成绩是:数学 - {avg_math}, 语文 - {avg_chinese}, 英语 - {avg_english}")
阅读全文