Python输出文本中每门课的平均分
时间: 2023-06-03 13:01:45 浏览: 61
可以回答。以下是 Python 代码示例:
```python
# 假设已经有了一个字典,键为课程名,值为该课程所有分数的列表
scores = {
'语文': [85, 90, 92, 88],
'数学': [90, 92, 95, 88],
'英语': [80, 85, 90, 92],
}
# 遍历字典计算每门课的平均分
for subject, scores_list in scores.items():
# 使用内置函数 sum() 计算该课程所有分数的和
total_scores = sum(scores_list)
# 使用内置函数 len() 计算该课程分数数量
num_scores = len(scores_list)
# 计算平均分并输出
average_score = total_scores / num_scores
print(f'{subject} 的平均分为 {average_score:.2f}')
```
输出结果类似于:
```
语文 的平均分为 88.75
数学 的平均分为 91.25
英语 的平均分为 86.75
```
相关问题
新建一个文本文件score,用来保存4名考生3门课程成绩。用Python读取文件内容,统计每门课程的平均分、最高分和最低分。
首先,我们需要创建score文件,并向其中写入数据。可以使用以下代码完成:
```python
with open("score.txt", "w") as f:
f.write("张三 90 80 70\n")
f.write("李四 85 92 78\n")
f.write("王五 70 65 80\n")
f.write("赵六 88 76 94\n")
```
接下来,我们可以使用Python读取文件内容,并进行数据处理。可以使用以下代码完成:
```python
with open("score.txt", "r") as f:
lines = f.readlines()
scores = []
for line in lines:
data = line.strip().split()
name = data[0]
score = list(map(int, data[1:]))
scores.append(score)
# 计算每门课程的平均分、最高分和最低分
for i in range(3):
course_scores = [score[i] for score in scores]
avg_score = sum(course_scores) / len(scores)
max_score = max(course_scores)
min_score = min(course_scores)
print(f"第{i+1}门课程:平均分 {avg_score:.2f},最高分 {max_score},最低分 {min_score}")
```
输出结果如下:
```
第1门课程:平均分 83.25,最高分 90,最低分 70
第2门课程:平均分 78.25,最高分 92,最低分 65
第3门课程:平均分 80.5,最高分 94,最低分 70
```
新建一个文本文件score.csv,用来保存10名考生3门课程成绩。用Python读取文件内容,统计每门课程的平均分、最高分和最低分。
好的,以下是代码实现:
```python
import csv
# 读取 score.csv 文件中的数据
with open('score.csv', 'r', newline='') as csvfile:
reader = csv.reader(csvfile)
data = [row for row in reader]
# 将数据转换成数字类型
data = [[int(x) for x in row] for row in data]
# 计算每门课程的平均分、最高分和最低分
num_students = len(data)
num_courses = len(data[0])
averages = [sum([row[i] for row in data]) / num_students for i in range(num_courses)]
max_scores = [max([row[i] for row in data]) for i in range(num_courses)]
min_scores = [min([row[i] for row in data]) for i in range(num_courses)]
# 输出结果
print("每门课程的平均分为:", averages)
print("每门课程的最高分为:", max_scores)
print("每门课程的最低分为:", min_scores)
```
注意:需要先在当前目录下创建一个名为 `score.csv` 的文件,并将10名考生3门课程的成绩写入该文件中。每行数据应该以逗号分隔,例如:
```
85,76,92
78,89,90
...
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)