人键盘输人以下10个学生的学号、姓名,以及数学、语文和英语成绩,写到文本文件f3.trt 中,再从文件中取出数据,计算每个学生的总成绩和平均分,并将结果显示在屏幕上。试编写相应程序。
时间: 2024-02-21 22:59:35 浏览: 69
好的,以下是代码实现:
```python
# 写入学生信息到文件
with open('f3.trt', 'w') as f:
for i in range(10):
# 输入学号、姓名、数学、语文、英语成绩
student_id = input('请输入第{}个学生的学号:'.format(i+1))
name = input('请输入第{}个学生的姓名:'.format(i+1))
math = float(input('请输入第{}个学生的数学成绩:'.format(i+1)))
chinese = float(input('请输入第{}个学生的语文成绩:'.format(i+1)))
english = float(input('请输入第{}个学生的英语成绩:'.format(i+1)))
# 写入文件
f.write('{} {} {} {} {}\n'.format(student_id, name, math, chinese, english))
# 读取文件并计算总成绩和平均分
with open('f3.trt', 'r') as f:
for i in range(10):
line = f.readline().strip()
if not line:
break
# 解析学生信息
student_info = line.split(' ')
student_id = student_info[0]
name = student_info[1]
math = float(student_info[2])
chinese = float(student_info[3])
english = float(student_info[4])
# 计算总成绩和平均分
total_score = math + chinese + english
avg_score = round(total_score / 3, 2)
# 显示结果
print('学号:{},姓名:{},总成绩:{},平均分:{}'.format(student_id, name, total_score, avg_score))
```
运行结果:
```
请输入第1个学生的学号:101
请输入第1个学生的姓名:张三
请输入第1个学生的数学成绩:80
请输入第1个学生的语文成绩:75
请输入第1个学生的英语成绩:90
请输入第2个学生的学号:102
请输入第2个学生的姓名:李四
请输入第2个学生的数学成绩:85
请输入第2个学生的语文成绩:90
请输入第2个学生的英语成绩:80
请输入第3个学生的学号:103
请输入第3个学生的姓名:王五
请输入第3个学生的数学成绩:90
请输入第3个学生的语文成绩:85
请输入第3个学生的英语成绩:95
请输入第4个学生的学号:104
请输入第4个学生的姓名:赵六
请输入第4个学生的数学成绩:70
请输入第4个学生的语文成绩:75
请输入第4个学生的英语成绩:80
请输入第5个学生的学号:105
请输入第5个学生的姓名:钱七
请输入第5个学生的数学成绩:80
请输入第5个学生的语文成绩:85
请输入第5个学生的英语成绩:90
请输入第6个学生的学号:106
请输入第6个学生的姓名:孙八
请输入第6个学生的数学成绩:75
请输入第6个学生的语文成绩:80
请输入第6个学生的英语成绩:85
请输入第7个学生的学号:107
请输入第7个学生的姓名:周九
请输入第7个学生的数学成绩:90
请输入第7个学生的语文成绩:85
请输入第7个学生的英语成绩:95
请输入第8个学生的学号:108
请输入第8个学生的姓名:吴十
请输入第8个学生的数学成绩:85
请输入第8个学生的语文成绩:90
请输入第8个学生的英语成绩:80
请输入第9个学生的学号:109
请输入第9个学生的姓名:郑十一
请输入第9个学生的数学成绩:75
请输入第9个学生的语文成绩:80
请输入第9个学生的英语成绩:85
请输入第10个学生的学号:110
请输入第10个学生的姓名:王十二
请输入第10个学生的数学成绩:80
请输入第10个学生的语文成绩:85
请输入第10个学生的英语成绩:90
学号:101,姓名:张三,总成绩:245.0,平均分:81.67
学号:102,姓名:李四,总成绩:255.0,平均分:85.0
学号:103,姓名:王五,总成绩:270.0,平均分:90.0
学号:104,姓名:赵六,总成绩:225.0,平均分:75.0
学号:105,姓名:钱七,总成绩:255.0,平均分:85.0
学号:106,姓名:孙八,总成绩:240.0,平均分:80.0
学号:107,姓名:周九,总成绩:270.0,平均分:90.0
学号:108,姓名:吴十,总成绩:255.0,平均分:85.0
学号:109,姓名:郑十一,总成绩:240.0,平均分:80.0
学号:110,姓名:王十二,总成绩:255.0,平均分:85.0
```
阅读全文