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)

运行结果:

相关推荐
子兮曰4 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
小羊没烦恼!4 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
子兮曰4 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
默_笙4 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
俊昭喜喜里4 天前
java中的继承和多态的区别
java
小羊没烦恼!4 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
前端小万4 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝4 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
qq_426003964 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
譕痕4 天前
JSONObject与JSONArray封装数据格式区别
java·json