python小玩意——学生信息管理系统

简介: python小玩意——学生信息管理系统

代码说明:

通过运行代码可以登陆和注册管理员用户,通过创建json文件,新建学生信息并保存(姓名和成绩)

效果如下:

在这里插入图片描述

在这里插入图片描述

代码如下:

import json  # 把字符串类型的数据转换成Python基本数据类型或者将Python基本数据类型转换成字符串类型。


def login_user():
    while True:
        register = input('学生姓名:')
        try:
            with open(register + '.json')as file_object:
                user_message = json.load(file_object)  # json.load(obj)    读取文件中的字符串,序列化成Python的基本数据类型
        except FileNotFoundError:
            print('该用户不存在!')
            break
        else:
            print('_' * 20)
            register_password = input('请输入学号:')
            if user_message['id'] == register and user_message['password'] == register_password:

                str_print = '姓名:{}\t数学成绩:{}\t语文成绩:{}\t英语成绩: {}'
                grade_list = []
                while 1:

                    print('''******************************
欢迎使用【学生信息管理系统】
请选择你想要进行的操作
1.新建学生信息
2.显示全部信息
3.查询学生信息
4.删除学生信息
5.修改学生信息
0.退出系统
******************************''')

                    action = input('请选择你想要的进行操作:\n')
                    if action == '1':
                        '''新建学生信息'''
                        name = input('请输入名字')
                        math = input('请输入数学成绩')
                        chinese = input('请输入语文成绩')
                        english = input('请输入英语成绩')

                        total = int(math) + int(chinese) + int(english)
                        grade_list.append([name, math, chinese, english, total])
                        print([name, math, chinese, english, total])
                        print('姓名:{}\t数学成绩:{}\t语文成绩:{}\t英语成绩: {}'.format(name, math, chinese, english, total))
                        pass



                    elif action == '2':
                        '''显示全部信息'''
                        for info in grade_list:
                            print(str_print.format(*info))


                    elif action == '3':

                        '''查询学生信息'''
                        name = input('请输入你需要查询学生的姓名:')
                        for info in grade_list:
                            if name in info:
                                print(str_print.format(*info))
                                break
                            else:

                                print('此学生不存在')




                    elif action == '4':

                        '''删除学生信息'''
                        name = input('请输入你需要查询学生的姓名:')
                        for info in grade_list:
                            if name in info:
                                info_ = grade_list.pop(grade_list.index(info))
                                print('这个学员的信息已经被删除\n', info_)
                                break
                            else:
                                print('此学生不存在')



                    elif action == '5':
                        '''修改学生信息'''
                        name = input('请输入你需要查询学生的姓名:')
                        for info in grade_list:
                            if name in info:
                                index = grade_list.index(info)

                                break
                            else:
                                print('此学生不存在')
                                continue

                        math = input('请输入数学成绩:')
                        chinese = input('请输入语文成绩:')
                        english = input('请输入英语成绩:')
                        total = int(math) + int(chinese) + int(english)
                        grade_list[index][0:] = [name, math, chinese, english, total]
                        print('修改后的一个成绩', grade_list[index])

                    elif action == '0':
                        '''退出系统'''
                        break
                    else:
                        print('输入信息有误,请重新输入')

                # print('登陆成功')
                return register, user_message
            else:
                print('登陆失败!用户名或密码错误')
                break


def register_user():
    new_user = input('增加学生姓名:')
    try:
        with open(new_user + ',.jion', 'r') as file_object:
            pass
    except FileNotFoundError:

        new_password_one = input('请确认学号:')
        new_password_two = input('请再次确认学号:')
        if new_password_one == new_password_two:
            user_message = {'id': new_user, 'password': new_password_one}
            with open(new_user + '.json', 'w')as file_object:
                json.dump(user_message, file_object)  # json.dump(obj)    将Python的基本数据类型序列化成字符串并写入到文件中
                print('新用户已经注册成功!可以登录了。')
        else:
            print('两次输入不一致')
    else:
        print('该用户已经存在')


while True:
    print('*' * 50)
    print('*      1.登录用户          *')
    print('*                          *')
    print('*      2.注册用户          *')
    print('*                           *')
    print('*       3.退出             *')
    print('*' * 50)
    test_content = input('请输入你的选项:')
    if test_content == '1':
        try:

            user_id, user_system = login_user()
            pass
        except TypeError:
            print('请重新输入')
    # print('登录用户!')
    elif test_content == '2':
        register_user()

        # print('注册用户')
    elif test_content == '3':

        print('退出系统')
        break
    else:
        print('非法输入字符')
相关文章
|
前端开发 JavaScript 关系型数据库
基于python的药店药品信息管理系统-毕业设计-课程设计
平台采用B/S结构,后端采用主流的Python语言进行开发,前端采用主流的Vue.js进行开发。
317 0
|
3月前
|
Python
【python】pyqt5大学生成绩信息管理系统-图形界面(源码+报告)【独一无二】
【python】pyqt5大学生成绩信息管理系统-图形界面(源码+报告)【独一无二】
161 1
|
3月前
|
SQL 关系型数据库 MySQL
【python】python学生信息管理系统 ——数据库版(源码)【独一无二】
【python】python学生信息管理系统 ——数据库版(源码)【独一无二】
|
3月前
|
存储 Python
【python】Python学生信息管理系统(源码+报告+本地存储)【独一无二】
【python】Python学生信息管理系统(源码+报告+本地存储)【独一无二】
154 1
|
关系型数据库 MySQL 数据库
Python 基于 Django 的公务员考试信息管理系统+数据库(附源码,教程)
Python 基于 Django 的公务员考试信息管理系统+数据库(附源码,教程)
|
6月前
|
存储 人工智能 机器人
【python毕业设计】基于Python的医院信息管理系统的设计与实现(源码+数据库+毕业论文)【独一无二】
【python毕业设计】基于Python的医院信息管理系统的设计与实现(源码+数据库+毕业论文)【独一无二】
248 0
|
6月前
|
人工智能 机器人 测试技术
【Python】Python教师/学生信息管理系统 [简易版] (源码)【独一无二】
【Python】Python教师/学生信息管理系统 [简易版] (源码)【独一无二】
|
6月前
|
Python
python实现学生信息管理系统(附源码 可供大作业或练习使用)
python实现学生信息管理系统(附源码 可供大作业或练习使用)
658 2
python实现学生信息管理系统(附源码 可供大作业或练习使用)
|
SQL 前端开发 JavaScript
基于python+django的家教预约网站-家教信息管理系统
该系统是基于python+django开发的家教预约网站。是给师妹做的课程作业。大家在学习过程中,遇到问题可以在github给作者留言。
195 0
|
6月前
|
NoSQL 开发工具 数据库
基于Python开发的学生信息管理系统控制台程序(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)
基于Python开发的学生信息管理系统控制台程序(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)