(7文件操作)将键盘输入n个学生信息写入二进制文件stu.dat,其中学号11个字符长度、姓名10个字符长度的字符串,都以GBK格式保存,年龄以4字节有符号整型数保存,成绩以双精度浮点数保存,不要求字节对齐,数值数据字节顺序按本地机器,数据类型字节数按默认。运行后首先输入整数n,然后输入n个学生信息。要求:将输入的年龄加1以后保存、将输入的成绩加5以后保存
样例输入
2
20180861101 张亚佳 18 91.5
20180861102 韩云飞 19 89.5
样例输出
文件内容:[b'20180861101\xd5\xc5\xd1\xc7\xbc\xd1\x00\x00\x00\x00\x13\x00\x00\x00\x00\x00\x00\x00\x00 X@20180861102\xba\xab\xd4\xc6\xb7\xc9\x00\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\xa0W@']
解题代码
#coding=gbk import struct from readbin import ReadFile import os FileName="stu.dat" if os.path.exists(FileName):#如果文件存在 os.remove(FileName)#删除文件 """【""" n=int(input()) f=open("stu.dat","wb") for i in range(n): xh,xm,age,cj=map(str,input().split()) age=int(age)+1 cj=float(cj)+5.0 stu=struct.pack('=11s10sid',bytes(xh,"GBK"),bytes(xm,"GBK"),age,cj) f.write(stu) f.close() """】""" ReadFile(FileName)#输出保存内容

浙公网安备 33010602011771号