现在有如下格式的成绩单(文本格式)score.txt 姓名:张三,数学72分,物理67分,英语70分。 姓名:李四,数学92分,物理98分,英语88分。 姓名:王五,数学68分,物理80分,英语77分。 要求按行读入成绩单,并在该行的后面加上该同学的平均成绩,然后再将该行写入到一个名字为scoreAnalysis.txt的文件中。
时间: 2024-03-05 18:51:07 浏览: 69
学生各科成绩,二进制和文本方式写入
5星 · 资源好评率100%
好的,我可以帮你编写一个Python程序来实现这个功能。你可以把以下代码保存为.py文件,然后在命令行中运行:
```python
with open('score.txt', 'r') as f:
lines = f.readlines()
with open('scoreAnalysis.txt', 'w') as f:
for line in lines:
line = line.strip()
if line.startswith('姓名:'):
scores = line.split(',')[1:]
scores = [int(score.split('分')[0]) for score in scores]
average_score = sum(scores) / len(scores)
line += f',平均成绩:{average_score:.2f}分。\n'
f.write(line)
```
这个程序首先读取score.txt文件中的所有行,然后依次处理每一行。如果该行以“姓名:”开头,就提取该同学的成绩,并计算平均成绩。然后在该行的末尾加上平均成绩,并将该行写入到scoreAnalysis.txt文件中。注意,程序中的“:.2f”是格式化字符串的语法,表示保留两位小数。
阅读全文