python第三次作业

题目为:

课堂练习,完成学生信息录入系统,直接存储在文件中,存储方式如下

#读取文件并对其学号排序并打印

"""

name: "张三",age:20,student_number:371897281,score_total=495

name: "三",age:20,student_number:371897281,score_total=495

name: "三",age:20,student_number:371897281,score_total=495

name: "三",age:20,student_number:371897281,score_total=495

"""

python 复制代码
#导入序列化模块
import pickle
list2 = [] #创建一个列表
#循环输入,可自行决定输入多少数据
while True:
    running = int(input("请选择操作:1、输入学生信息;2、退出操作:"))
    if running == 1:
        name = input("请输入姓名name:")
        age = int(input("请输入年龄age:"))
        student_number = int(input("请输入student_number:"))
        score_total = int(input("请输入score_total:"))
        student = {}   #创建一个字典 因为k:v对形式存储的数据
        student["mame"] = name
        student["age"] = age
        student["student_number"] = student_number
        student["score_total"] =score_total
        
        list2.append(student)  #append()在其list2中末尾添加student的元素
    else :
        break
    res = pickle.dumps(list2) #序列化 dumps 
    with open("05python-io\list2.txt","wb") as l1:    
        l1.write(res)

with open("05python-io\list2.txt","rb") as l2:   
    res2 = l2.read()
list2_res = pickle.loads(res2) #反序列 loads

print("排序前录入的顺序:",list2)
list2.sort(key = lambda x:x["student_number"])
print("排序后录入的顺序:",list2)

运行结果:

相关推荐
小李子呢02111 天前
前端八股6---v-model双向绑定
前端·javascript·算法
大数据新鸟1 天前
操作系统之虚拟内存
java·服务器·网络
Tong Z1 天前
常见的限流算法和实现原理
java·开发语言
凭君语未可1 天前
Java 中的实现类是什么
java·开发语言
He少年1 天前
【基础知识、Skill、Rules和MCP案例介绍】
java·前端·python
史迪仔01121 天前
[QML] QML IMage图像处理
开发语言·前端·javascript·c++·qt
AI_Claude_code1 天前
ZLibrary访问困境方案四:利用Cloudflare Workers等边缘计算实现访问
javascript·人工智能·爬虫·python·网络爬虫·边缘计算·爬山算法
AwesomeCPA1 天前
Miaoduo MCP 使用指南(VDI内网环境)
前端·ui·ai编程
前端大波1 天前
前端面试通关包(2026版,完整版)
前端·面试·职场和发展
克里斯蒂亚诺更新1 天前
myeclipse的pojie
java·ide·myeclipse