3.某学校进行了一次考试,成绩需保存于文件 score.dat。该文件的格式上婴求包含两列信息:学号(长整型)、成绩(单精度浮点数)。编写程序,实现信息的录人、保存和显示,要求: (1)数据录人、保存功能:通过控制台输人若千学生的学号和成绩,将信息保存到文件 score.dat 中。 2)数据读取、显示功能:可以从文件score.dat 中读取学生的学号和成绩,并显示于控制台
时间: 2024-03-11 10:49:33 浏览: 69
好的,以下是一个示例代码,实现了上述功能:
```python
import struct
def input_scores():
n = int(input("请输入学生人数:"))
with open("score.dat", "wb") as f:
for i in range(n):
# 输入学号和成绩
id = int(input("请输入学号:"))
score = float(input("请输入成绩:"))
# 将学号和成绩打包为二进制数据,并写入文件
data = struct.pack("if", id, score)
f.write(data)
def show_scores():
with open("score.dat", "rb") as f:
while True:
# 从文件中读取二进制数据
data = f.read(8)
if not data:
break
# 解包为学号和成绩,并显示
id, score = struct.unpack("if", data)
print(f"学号:{id},成绩:{score}")
# 测试输入和显示
input_scores()
show_scores()
```
您可以运行上述代码,按照提示输入学生的学号和成绩,程序会将其保存到文件 `score.dat` 中。然后您可以调用 `show_scores()` 函数,从文件中读取学号和成绩,并显示在控制台上。注意,该程序使用了 Python 的 `struct` 模块来实现二进制数据的打包和解包操作。
阅读全文