统计成绩:从键盘输入以下 5 个学生的学号、姓名,以及数学、语文和英语成绩,写到文本文件 f3.txt 中,再从文件中取出数据,计算每个学生的总成绩和平均分,并将结果显示在屏幕上。试编写相应程序。
时间: 2024-01-02 14:02:40 浏览: 105
好的,这是一个统计成绩的程序需求,下面是 Python 代码实现:
```python
# 写入数据到文件 f3.txt 中
with open('f3.txt', 'w') as f:
for i in range(5):
# 从键盘输入学生信息和成绩
student_id = input("请输入学生学号:")
student_name = input("请输入学生姓名:")
math_score = float(input("请输入学生数学成绩:"))
chinese_score = float(input("请输入学生语文成绩:"))
english_score = float(input("请输入学生英语成绩:"))
# 写入到文件
f.write("{} {} {} {} {}\n".format(student_id, student_name, math_score, chinese_score, english_score))
# 从文件中读取数据,计算每个学生的总成绩和平均分,并输出结果
with open('f3.txt', 'r') as f:
print("{:<10}{:<10}{:<10}{:<10}{:<10}{:<10}".format("学生学号", "学生姓名", "数学成绩", "语文成绩", "英语成绩", "平均分"))
for line in f:
# 对每行数据进行处理
student_id, student_name, math_score, chinese_score, english_score = line.strip().split()
math_score = float(math_score)
chinese_score = float(chinese_score)
english_score = float(english_score)
total_score = math_score + chinese_score + english_score
avg_score = total_score / 3
# 输出结果
print("{:<10}{:<10}{:<10}{:<10}{:<10}{:<10.2f}".format(student_id, student_name, math_score, chinese_score, english_score, avg_score))
```
注意,这里的程序将学生信息和成绩写入了一个文本文件 f3.txt 中,每行数据包括学生学号、姓名、数学成绩、语文成绩和英语成绩,用空格分隔。然后从文件中读取数据,对每行数据进行处理,计算每个学生的总成绩和平均分,并输出结果。
阅读全文