3.文件“stu_info1.txt”包含学生的基本信息(姓名、学号、籍贯三项),现在需 要从该文件中读出信息,并依次为每位学生输入三门课程成绩,计算平均成绩,再将学生 完整信息(姓名、学号、籍贯、课程 1、课程 2、课程 3、平均分)写入文件 “stu_info2.txt”并保存于磁盘上。试验过程
时间: 2023-08-19 09:04:48 浏览: 98
学生基本信息与成绩管理.
这道题目需要用到文件的读写操作,以下是一个可以实现该功能的Python程序:
```python
# 打开原始文件
with open("stu_info1.txt", "r") as f:
# 读取每一行信息
lines = f.readlines()
# 遍历每个学生信息
for line in lines:
# 去除行末的换行符,并按空格进行分隔
info = line.strip().split(" ")
# 学生信息
name, stu_id, hometown = info
# 输入三门课程成绩
score1 = float(input("请输入{}的第一门课程成绩:".format(name)))
score2 = float(input("请输入{}的第二门课程成绩:".format(name)))
score3 = float(input("请输入{}的第三门课程成绩:".format(name)))
# 计算平均成绩
avg_score = (score1 + score2 + score3) / 3
# 打开目标文件,将学生信息和平均成绩写入文件
with open("stu_info2.txt", "a") as f2:
f2.write("{} {} {} {:.2f} {:.2f} {:.2f} {:.2f}\n".format(name, stu_id, hometown, score1, score2, score3, avg_score))
```
在运行程序之前,需要先准备一个名为“stu_info1.txt”的文件,包含若干行学生的基本信息,每行信息格式为“姓名 学号 籍贯”,例如:
```
张三 1001 北京市
李四 1002 上海市
王五 1003 广州市
```
程序运行后,会提示用户输入每个学生的三门课程成绩,然后计算平均成绩,并将学生完整信息写入名为“stu_info2.txt”的文件中,每行信息格式为“姓名 学号 籍贯 课程1 课程2 课程3 平均分”,例如:
```
张三 1001 北京市 80.00 85.00 90.00 85.00
李四 1002 上海市 75.00 80.00 85.00 80.00
王五 1003 广州市 90.00 95.00 100.00 95.00
```
其中,“课程1”、“课程2”、“课程3”和“平均分”都保留两位小数。
阅读全文