2019-08-07day12作业(学生管理系统)

py代码

#!/user/bin/env python
# -*- coding:utf-8 -*-
import time
import json

# 注册界面 registration_inter()
def registration_inter():
    print('=============用户注册=============')
    user_name = input('❀❀请输入用户名:')
    pw = input('❀❀请输入密码:')
    print('❀❀1.确认注册')
    print('❀❀2.返回主界面')
    print('==================================')

    n = int(input('♦♦请选择(1-2)'))

    if n == 1:
        with open('./用户账号密码.json', 'r', encoding='utf-8') as f:
            global dict1
            dict1 = json.loads(f.read())

            if user_name not in dict1:
                with open('./用户账号密码.json', 'w', encoding='utf-8') as f:
                    dict1[user_name] = pw
                    dict1 = json.dumps(dict1)
                    f.write(dict1)
                    print('----------------注册成功')
                    time.sleep(1)
                    login_inter()
            else:
                print('该用户名已存在,请重新输入')
                registration_inter()
    elif n == 2:
        main_inter()
    else:
        print('!!!!!输入有误,请重新输入')
        registration_inter()

# 登录界面  login_inter()
def login_inter():
    print('=============用户登录=============')
    user_name = input('♦♦请输入用户名:')
    pw = input('♦♦请输入用户密码:')
    print('❀❀1.确认登录')
    print('❀❀2.返回主界面')
    print('==================================')

    n = int(input('♦♦请选择(1-2)'))

    if n == 1:
        with open('用户账号密码.json', 'r', encoding='utf-8') as f:
            dict2 = json.loads(f.read())
            if user_name in dict2:
                if dict2[user_name] == pw:
                    print('----------------登录成功')               # 返回操作界面
                    time.sleep(1)
                    operation_inter()
                else:
                    print('密码有误!')
                    login_inter()
            else:
                print('没有找到用户名')
                login_inter()

    elif n == 2:
        main_inter()
    else:
        print('!!!!!输入有误,请重新输入')
        login_inter()


# 操作界面  operation_inter()
def operation_inter():
    print('=============学生管理=============')
    print('❀❀1.添加学生')
    print('❀❀2.查看学生')
    print('❀❀3.修改学生信息')
    print('❀❀4.删除学生')
    print('❀❀5.返回')
    print('==================================')

    n = int(input('♦♦请选择(1-5)'))

    if n == 1:
        def add_stu():
            stu_name = input('请输入学生姓名:')
            age = input('请输入学生年龄:')
            stu_class = input('请输入学生班级:')
            phone = input('请输入学生电话:')
            print('❀❀1.确认添加')
            print('❀❀2.返回上级界面')

            m = int(input('♦♦请选择(1-2)'))

            if m == 1:
                dict3 = {'name':stu_name,'age':age,'class':stu_class,'phone':phone}
                with open('./stu_information.json', 'r', encoding='utf-8') as f:
                    global list1
                    list1 = f.read()
                    list1 = json.loads(list1)
                    list1 = list(list1)
                with open('./stu_information.json', 'w', encoding='utf-8') as f:
                    list1.append(dict3)
                    list1 = json.dumps(list1)
                    f.write(list1)
                print('----------------添加成功')
                time.sleep(1)
                operation_inter()


            elif m == 2:
                operation_inter()
            else:
                print('!!!!!输入有误,请重新输入')
                add_stu()
        add_stu()

    elif n == 2:
        stu_name = input('请输入要查看的学生姓名(all为全体学生):')
        with open('./stu_information.json', 'r', encoding='utf-8') as f:
            list3 = f.read()
            list3 = json.loads(list3)
            x = 0
            if stu_name == 'all':
                print(list3)
                print('❀❀1.返回上级界面')
                print('❀❀2.返回主界面')
                n = int(input('♦♦请选择(1-2):'))
                if n == 1:
                    operation_inter()
                elif n == 2:
                    main_inter()
                else:
                    print('!!!!!输入有误')
                    operation_inter()
            elif stu_name != 'all':
                for dict3 in list3:
                    if stu_name == dict3['name']:
                        print(dict3)
                        x += 1
                if x == 0:
                    print('!!!对不起该同学信息不存在')
                    operation_inter()
                if x != 0:
                    print('❀❀1.返回上级界面')
                    print('❀❀2.返回主界面')
                    n = int(input('♦♦请选择(1-2):'))
                    if n == 1:
                        operation_inter()
                    elif n == 2:
                        main_inter()
                    else:
                        print('!!!!!输入有误')
                        operation_inter()
    elif n == 3:
        stu_name = input('请输入要修改信息的学生姓名:')
        with open('./stu_information.json', 'r', encoding='utf-8') as f:
            list4 = f.read()
            list4 = json.loads(list4)
            for dict4 in list4:
                if stu_name == dict4['name']:
                    print(dict4)
                    print('❀❀1.修改姓名')
                    print('❀❀2.修改年龄')
                    print('❀❀3.修改班级')
                    print('❀❀4.修改电话')
                    print('❀❀5.暂不修改并返回')

                    n = int(input('请选择(1-5):'))
                    if n== 1:
                        new_name = input('请输入修改后的名字:')
                        dict4['name'] = new_name
                    elif n == 2:
                        new_age = input('请输入修改后的年龄:')
                        dict4['age'] = new_age
                    elif n == 3:
                        new_class = input('请输入修改后的班级:')
                        dict4['class'] = new_class
                    elif n == 4:
                        new_phone = input('请输入修改后的电话:')
                        dict4['phone'] = new_phone
                    elif n == 5:
                        operation_inter()
                    else:
                        time.sleep(1)
                        print('输入有误,正在返回')
                        operation_inter()
                    with open('./stu_information.json', 'w', encoding='utf-8') as f:
                        list4 = json.dumps(list4)
                        f.write(list4)
                        print('----------------修改成功')
                        time.sleep(1)
                        operation_inter()


    elif n == 4:
        stu_name = input('请输入要删除的学生姓名:')
        with open('./stu_information.json', 'r', encoding='utf-8') as f:
            list3 = f.read()
            list3 = json.loads(list3)
            x = 0
            for dict3 in list3:
                if stu_name == dict3['name']:
                    list3.remove(dict3)
                    x += 1
                    with open('./stu_information.json', 'w', encoding='utf-8') as f:
                        list3 = json.dumps(list3)
                        f.write(list3)
                        print('----------------删除成功')
                        time.sleep(1)
        if x == 0:
            print('没有找到要删除的学生信息')
            operation_inter()
        else:
            operation_inter()

    elif n == 5:
        main_inter()
    else:
        print('输入有误,请重新输入')
        operation_inter()




# 主界面   main_inter()
def main_inter():
    print('===========图书管理系统===========')
    print('❀❀欢迎____使用图书管理系统')
    print('❀❀1.登录')
    print('❀❀2.注册')
    print('❀❀3.退出')
    print('==================================')

    n = int(input('♦♦请选择(1-3):'))

    if n == 1:
        login_inter()   # 进入登陆界面
    elif n == 2:
        registration_inter()    # 进入注册界面
    elif n == 3:
        print('❀❀正在退出')
        time.sleep(1)
        return
    else:
        print('!!!!!输入有误,请重新输入')
        main_inter()


main_inter()

json文件

stu_information.json

[]

用户账号密码.json

{}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,709评论 0 10
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,076评论 1 32
  • 8月22日-----字符串相关 2-3 个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消...
    future_d180阅读 939评论 0 1
  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 13,617评论 0 15
  • 原始数据、原始文件 提炼信息 理解数据、分析数据、提炼信息、明确主题 选择图表 确定比较关系→确定图表类型→确定图...
    星语西瓜阅读 113评论 0 0