文件“stul info1.txt”包含学生的基本信息(姓名、学号、籍贯三项),现在需要从该文件中读出信息,并依次为每位学生输入三门课程成绩,计算平均成绩,再将学生完整信息 (姓名、学号、籍费、课程 1、课程 2、 课程 3、平均分)写入文件 “stu info2. txt” 并保存于磁盘上。
时间: 2023-12-22 14:16:35 浏览: 59
好的,我理解了你的问题。下面是处理该问题的步骤:
1. 打开“stu info1.txt”文件,读取文件中的学生信息,并保存到一个列表中。
2. 对于每个学生,从用户输入中读取三门课程的成绩,并计算平均成绩。
3. 将学生信息和平均成绩保存到一个新的列表中。
4. 打开“stu info2.txt”文件,将新的学生信息写入文件。
下面是处理该问题的 Python 代码实现:
```python
# 打开学生信息文件
with open("stu info1.txt", "r") as f:
# 读取文件中的学生信息
lines = f.readlines()
# 学生信息列表
students = []
for line in lines:
# 将每行信息转换为列表
info = line.strip().split()
# 将学生信息添加到列表中
students.append(info)
# 新的学生信息列表
new_students = []
for student in students:
# 从用户输入中读取三门课程成绩
scores = []
for i in range(3):
score = input("请输入{}的第{}门课程成绩:".format(student[0], i+1))
scores.append(float(score))
# 计算平均成绩
avg_score = sum(scores) / len(scores)
# 将学生信息和平均成绩添加到新的列表中
new_student = student + scores + [avg_score]
new_students.append(new_student)
# 打开新的学生信息文件
with open("stu info2.txt", "w") as f:
for student in new_students:
# 将学生信息写入文件
f.write("{}\t{}\t{}\t{}\t{}\t{}\t{}\n".format(student[0], student[1], student[2], student[3], student[4], student[5], student[6]))
```
注意:该代码仅供参考,具体实现方式可能因实际需要而有所不同。
阅读全文