文件“stu info1.txt”包含学生的基本信息(姓名、学号、籍贯三项),现在需要从该文件中读出信息,并依次为每位学生输入三门课程成绩,计算平均成绩,再将学生完整信息(姓名、学号、籍贯、课程1、课程2、课程3、平均分)写入文件“stu_info2.txt”并保存于磁盘上。
时间: 2023-06-16 22:03:43 浏览: 112
stu.dat学生信息
以下是 Python 代码实现:
```python
# 从文件中读取学生基本信息
with open("stu info1.txt", "r") as f:
students = []
for line in f:
info = line.strip().split()
name = info[0]
id = info[1]
hometown = info[2]
student = {'name': name, 'id': id, 'hometown': hometown}
students.append(student)
# 输入每位学生的三门课程成绩,并计算平均成绩
for student in students:
grades = []
for i in range(3):
grade = float(input("请输入{}的第{}门课程成绩:".format(student['name'], i+1)))
grades.append(grade)
average = sum(grades) / 3
student['grades'] = grades
student['average'] = average
# 将学生完整信息写入文件
with open("stu_info2.txt", "w") as f:
for student in students:
line = "{}\t{}\t{}\t{}\t{}\t{}\t{:.2f}\n".format(student['name'], student['id'], student['hometown'], student['grades'][0], student['grades'][1], student['grades'][2], student['average'])
f.write(line)
```
该代码首先从文件中读取学生基本信息,并将其存储在一个列表中。然后,对于每位学生,程序会要求用户输入该学生的三门课程成绩,并计算平均成绩,将这些信息保存在该学生的字典中。最后,将每位学生的完整信息写入到文件“stu_info2.txt”中。其中,每行信息包含学生的姓名、学号、籍贯、三门课程成绩以及平均成绩。
阅读全文