当前位置: 移动技术网 > IT编程>脚本编程>Python > 学生信息系统(json模块解决数据持久化)

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

2019年05月01日  | 移动技术网IT编程  | 我要评论

男人体艺术图片,万惠事件,天赋异禀在线观看免费

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

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('输入有误')

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网