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)

运行结果:

相关推荐
IT_Octopus几秒前
JSON 日志里的 `{“$ref“:“$.xxx“}`:从 fastjson 兼容包到原生 fastjson2 的迁移实录
开发语言·python·json
geovindu几秒前
python:HandWriting Recognition using paddlepaddle
开发语言·后端·python·paddlepaddle
步行cgn9 分钟前
为何以继承方式引入SpringBoot
java·spring boot·后端
CoderYanger10 分钟前
A.每日一题:1140. 石子游戏 II
java·程序人生·算法·leetcode·游戏·职场和发展·深度优先
禾高网络12 分钟前
养老系统开发:背景、架构与养老行业展望
java·大数据·人工智能·小程序·架构
coderCN13 分钟前
Nodejs path OS process child_process FS crypto zlib ffmpeg Markdown 转 html
前端
梨想橙汁20 分钟前
JS BOM 浏览器对象:定时器与同步异步底层理解
前端·javascript
梨想橙汁26 分钟前
ES6+ 必用新特性:箭头函数、解构、模板字符串、扩展运算符
前端·javascript
梨想橙汁27 分钟前
DOM 与 JS 事件:页面元素操作、事件冒泡、事件委托实战
前端·javascript
wuyk55534 分钟前
Python 零基础入门第九章:用户输入与 While 循环
开发语言·python