我的编程空间,编程开发者的网络收藏夹
学习永远不晚

学生信息系统(json模块解决数据持久化

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

学生信息系统(json模块解决数据持久化

将学生管理的案例,学生信息由原来的只有姓名,拓展为包含,姓名,年龄,两个属性;完成对应的增、删、查、改,操作

import json,os,time,sys
student_list = []
File_path = 'name.txt'
#从文件中读取之前存储的数据(考虑是否有对应文件的问题,要做文件是否存在的判断),然后将读取到的数据存储到列表
def dataRead(filepath):
    # 判断filepath这个路径对应的文件是否存在:
    if os.path.exists(filepath):
        print('找到提取文件')
        f1 = open(filepath,'r',encoding='utf-8')
        global student_list
        student_list = json.load(f1)
        print('学生信息',student_list)
        f1.close()
        print('读取数据成功')
    else:
        print('文件不存在')

def addStudent():

    name = input('请输入学生姓名:')
    age = int(input('请输入学生年龄:'))
    stu_dict = {
        'name':name,
        'age':age
    }
    student_list.append(stu_dict)
    print('学生信息添加成功,1秒后自动返回主菜单\n\n\n')
    time.sleep(1)

def delStudent():
    name = input('请输入要删除的学生姓名:')
    for stu in student_list:
        if name == stu['name']:
            student_list.remove(stu)
            print('删除成功')
        else:
            print('该学生信息不存在')

def updateStudent():
    name = input("请输入要修改的学生姓名:")
    for stu in student_list:
        if name == stu['name']:
            new_name = input("请输入修改后的姓名:")
            new_age = eval(input("请输入修改后的年龄:"))
            stu['name'] = new_name
            stu['age'] = new_age
            print('修改成功')
            break
    else:
        print('该学生信息不存在')
    # name = input('请输入要修改的学生姓名:')
    # age = int(input('请输入修改学生的年龄:'))
    # new_dict = {'name':name,'age':age}
    # if new_dict in student_list :
    #     index = student_list.index(new_dict)
    #
    #     new_name = input('请输入修改后的学生姓名:')
    #     new_age = int(input('请输入修改后的学生年龄:'))
    #
    #
    #     student_list[index]['name'] = new_name
    #     student_list[index]['age'] = new_age
    #     print('修改成功')
    # else:
    #
    #     print('该学生信息不存在')

def queryStudent():
    name = input('请输入要查询的学生姓名:')
    for stu in student_list:
        if name == stu['name']:
            print('学生信息:',stu)
            break
    else:

        print('该学生信息不存在')

def showAll():
    print('所有学生信息如下:')
    for stu in student_list:
        print('姓名:{},年龄:{}'.format(stu.get('name'),stu.get('age')))

def systemExit():
    dataWrite(File_path)
    print('谢谢使用')
    sys.exit()

#将列表中的数据写入文件
def dataWrite(filepath):
    f = open(filepath,'w',encoding='utf-8')
    json.dump(student_list,f)
    f.close()
    print('数据写入成功')
#从文件中加载数据
dataRead(File_path)
while True:
    print('1.添加学生')
    print('2.删除学生')
    print('3.修改学生')
    print('4.查询学生')
    print('5.展示所有')
    print('6.退出系统')
    num = input('请输入1-6的数字进入相应功能:')
    print('------'*6)
    if num == '1':
        addStudent()
    elif num == '2':
        delStudent()
    elif num == '3':
        updateStudent()
    elif num == '4':
        queryStudent()
    elif num == '5':
        showAll()
    elif num == '6':
        systemExit()
    else:
        print('输入有误')

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

学生信息系统(json模块解决数据持久化

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

学生信息系统(json模块解决数据持久化

将学生管理的案例,学生信息由原来的只有姓名,拓展为包含,姓名,年龄,两个属性;完成对应的增、删、查、改,操作import json,os,time,sysstudent_list = []File_path = 'name.txt'#从文件
2023-01-31

Python使用tkinter模块实现GUI界面的学生信息管理系统流程分步详解

这篇文章主要为大家详细介绍了python实现简易学生信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2023-01-12

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录