输入10个学生5门课的成绩,分别用函数求每个学生平均分和每门课的平均分
时间: 2023-04-26 11:03:39 浏览: 266
可以定义两个函数来分别求每个学生的平均分和每门课的平均分。
1. 求每个学生的平均分
可以定义一个函数,输入一个学生的成绩列表,输出该学生的平均分。具体实现如下:
```python
def avg_score_student(scores):
return sum(scores) / len(scores)
```
其中,`scores`是一个包含该学生5门课成绩的列表,`sum(scores)`表示将该列表中所有成绩相加,`len(scores)`表示该列表中成绩的数量,两者相除即可得到该学生的平均分。
2. 求每门课的平均分
可以定义一个函数,输入一个包含所有学生某门课成绩的列表,输出该门课的平均分。具体实现如下:
```python
def avg_score_course(scores):
return sum(scores) / len(scores)
```
其中,`scores`是一个包含所有学生某门课成绩的列表,`sum(scores)`表示将该列表中所有成绩相加,`len(scores)`表示该列表中成绩的数量,两者相除即可得到该门课的平均分。
最后,我们可以通过循环输入每个学生的成绩,并将成绩存储在一个二维列表中。然后,分别调用上述两个函数,求出每个学生的平均分和每门课的平均分。具体实现如下:
```python
# 输入10个学生5门课的成绩
scores = []
for i in range(10):
print(f"请输入第{i+1}个学生的5门课成绩:")
s = input().split()
s = [int(x) for x in s]
scores.append(s)
# 求每个学生的平均分
for i in range(10):
avg = avg_score_student(scores[i])
print(f"第{i+1}个学生的平均分为:{avg:.2f}")
# 求每门课的平均分
for i in range(5):
s = [scores[j][i] for j in range(10)]
avg = avg_score_course(s)
print(f"第{i+1}门课的平均分为:{avg:.2f}")
```
其中,`input().split()`表示从标准输入中读取一行字符串,并将其按空格分割成多个字符串,返回一个列表。`[int(x) for x in s]`表示将该列表中的每个字符串转换为整数,并返回一个新的列表。`{:.2f}`表示将输出的浮点数保留两位小数。
阅读全文