文件“stu infol.txt”包含学生的基本信息 (姓名、学号、籍贯三项),现在需要从该文件中读出信息,并依次为每位学生输入三门课程成绩,计算平均成绩,再将学生完整信息(姓名、学号、籍贯、课程 1、课程 2、课程 3、平均分)写入文件 “stuinfo2.txt”并保存于磁盘上
时间: 2023-12-19 17:07:18 浏览: 58
好的,这是一个非常具体的问题。首先,我们需要读取“stu infol.txt”文件中的学生信息,并将其存储在一个列表中。然后,我们需要循环遍历这个列表,为每个学生输入三门课程的成绩,并计算平均分。最后,我们需要将每个学生的完整信息写入“stuinfo2.txt”文件中。
以下是 Python 代码的实现:
```python
# 读取学生信息
with open('stu infol.txt', 'r') as f:
lines = f.readlines()
students = []
for line in lines:
name, stuid, hometown = line.strip().split()
students.append({'name': name, 'stuid': stuid, 'hometown': hometown})
# 输入成绩,计算平均分,并写入文件
with open('stuinfo2.txt', 'w') as f:
for student in students:
score1 = int(input("请输入{}的第一门成绩:".format(student['name'])))
score2 = int(input("请输入{}的第二门成绩:".format(student['name'])))
score3 = int(input("请输入{}的第三门成绩:".format(student['name'])))
avg_score = (score1 + score2 + score3) / 3
f.write("{} {} {} {} {} {} {}\n".format(student['name'], student['stuid'], student['hometown'], score1, score2, score3, avg_score))
```
请注意,这段代码假设“stu infol.txt”和这个 Python 文件在同一个目录中,如果不是的话,你需要指定正确的文件路径。此外,代码中使用了“with open()”语法,这样可以确保文件在使用后自动关闭,不会出现资源泄漏的问题。
阅读全文