已知数据文件student.txt中存放了五个学生的信息包括姓名、数学、英语、计算机成绩(要求通过写方式打开创建该文件);读文件,计算每个学生成绩的平均值,最后将学生数据写入out.txt文件中去
时间: 2024-06-10 13:04:20 浏览: 226
编写程序,输入并保存5名学生的信息,计算出平均分,再按照成绩从高到低的顺序输出他们的信息。学生信息包括:学号、姓名、成绩。
你好!感谢你使用 ChitGPT 进行对话。
关于你的问题,我理解到你希望通过 Python 编程,对一个名为 student.txt 的数据文件进行读写操作,计算每个学生的成绩平均值,并把结果写入 out.txt 文件中。
下面是一份可供参考的代码:
```python
# 打开 student.txt 文件,使用写入模式
with open('student.txt', 'w') as file:
# 写入五个学生的信息,每个学生占一行
file.write('张三 80 90 85\n')
file.write('李四 85 76 90\n')
file.write('王五 90 88 89\n')
file.write('赵六 86 84 87\n')
file.write('钱七 92 89 93\n')
# 打开 student.txt 文件,使用读取模式
with open('student.txt', 'r') as file:
# 初始化累加器
total_math = 0
total_english = 0
total_computer = 0
count = 0
# 逐行读取文件内容
for line in file:
# 将每行内容按照空格拆分成若干个字符串,并转换为整数
name, math, english, computer = map(int, line.split())
# 统计总分
total_math += math
total_english += english
total_computer += computer
count += 1
# 计算平均分
avg_math = total_math / count
avg_english = total_english / count
avg_computer = total_computer / count
# 打开 out.txt 文件,使用写入模式
with open('out.txt', 'w') as file_out:
# 将统计结果写入文件
file_out.write(f'数学平均分:{avg_math:.2f}\n')
file_out.write(f'英语平均分:{avg_english:.2f}\n')
file_out.write(f'计算机平均分:{avg_computer:.2f}\n')
print('数据处理完成!')
```
上述代码中,我们首先使用“写入模式”打开 student.txt 文件,并向其中写入五个学生的信息。每个学生的信息占据文件中的一行,其中使用空格分隔了姓名、数学、英语、计算机成绩。
接下来,我们再次打开 student.txt 文件,这次使用“读取模式”。然后,逐行读取文件内容,并对每行内容进行拆分和转换,以便统计每个学生的各科成绩总分。
统计完所有学生的成绩总分之后,我们根据学生总数计算出每科成绩的平均值,并将结果写入 out.txt 文件。
最后,程序输出“数据处理完成!” 的提示信息,表示整个过程已经结束。
希望这份代码能够对你有所帮助!
阅读全文