python输入3名学生的成绩(数学、语文、英语),输出各科目的平均成绩。
时间: 2024-09-20 09:09:27 浏览: 84
在Python中,你可以通过让用户逐个输入每个学生的成绩,并计算总分后再除以科目数来实现这个功能。下面是一个简单的示例:
```python
# 定义学生数量和科目数量
num_students = 3
num_subjects = 3
# 初始化总分数字典
scores = {f'student_{i+1}': {subject: 0 for subject in ['math', 'Chinese', 'English']} for i in range(num_students)}
# 循环获取每个学生的每科成绩
for student_index in range(1, num_students + 1):
for subject_index, subject in enumerate(['math', 'Chinese', 'English']):
scores[f'student_{student_index}'][subject] = float(input(f"请输入学生{student_index}的{subject}成绩:"))
# 计算平均成绩并输出
for student, subjects_scores in scores.items():
average_score = sum(subjects_scores.values()) / num_subjects
print(f"{student}的平均成绩是:{average_score}")
相关问题
python输入3名学生的成绩(数学、语文、英语),输出各科目的平均成绩。
在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}")
python简单代码输入3名学生的成绩(数学、语文、英语),输出各科目的平均成绩。
当然可以。在Python中,你可以使用字典数据结构来存储每个学生的成绩,并计算总分和平均分。这是一个简单的例子:
```python
# 定义一个函数来获取并计算平均成绩
def calculate_average(scores):
total = sum(scores.values())
num_subjects = len(scores)
average = total / num_subjects
return average
# 输入学生的成绩
student_scores = {
"数学": float(input("请输入学生A的数学成绩: ")),
"语文": float(input("请输入学生A的语文成绩: ")),
"英语": float(input("请输入学生A的英语成绩: ")),
# 对其他两个学生进行同样的操作,如果有多名学生
# "数学": float(input("请输入学生B的数学成绩: ")),
# "语文": float(input("请输入学生B的语文成绩: ")),
# "英语": float(input("请输入学生B的英语成绩: ")),
}
# 计算平均成绩并打印结果
average_score = calculate_average(student_scores)
print(f"学生的平均成绩是: {average_score}")
# 如果有多个学生,可以循环遍历字典并求所有学生的平均值
# 例如,可以添加类似下面的代码:
# for key in student_scores.keys():
# if len(student_scores) > 1: # 检查是否还有其他学生
# # ... 同样的输入和计算过程
```
阅读全文