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)

运行结果:

相关推荐
m0_561359672 小时前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
马士兵教育2 小时前
计算机专业学生入行IT行业,编程语言如何选择?
java·开发语言·c++·人工智能·python
本妖精不是妖精2 小时前
搭建 JNI 开发环境:使用 IntelliJ IDEA 和 CLion
java
老毛肚2 小时前
uniapp-ruoyi-spring部署宝塔
java·spring·uni-app
diediedei2 小时前
持续集成/持续部署(CI/CD) for Python
jvm·数据库·python
熊猫钓鱼>_>2 小时前
从零到一:打造“抗造” Electron 录屏神器的故事
前端·javascript·ffmpeg·electron·node·录屏·record
砚边数影2 小时前
决策树实战:基于 KingbaseES 的鸢尾花分类 —— 模型可视化输出
java·数据库·决策树·机器学习·分类·金仓数据库
weixin_445402302 小时前
Python游戏中的碰撞检测实现
jvm·数据库·python
夕除2 小时前
js--6
java·开发语言