美文网首页
11-学生信息管理系统 完美版

11-学生信息管理系统 完美版

作者: 云水君丶 | 来源:发表于2018-07-27 21:50 被阅读0次
# encoding=utf-8
# Time    : 2018/7/26 20:23
# Author  : 云水君
# Email   : 632942444@qq.com
# File    : 学生管理系统.py
# Software: PyCharm

from 文件操作 import json读文件
from 文件操作 import json写文件
def read_file():
    path = "./user.json"
    data = json读文件(path)
    return data
def write_students(data):
    path = "./user.json"
    json写文件(path,data)
    return 1
def print_show_main():
    print("++++++++++++++++++++++++++++++++++++++++++++++")
    print("+             千锋学生管理系统                +")
    print("+             【1】按姓名查找                 +")
    print("+             【2】按学号查找                 +")
    print("+             【3】查看全部                   +")
    print("+             【4】返回上一级                 +")
    print("++++++++++++++++++++++++++++++++++++++++++++++")

def print_remove():
    print("++++++++++++++++++++++++++++++++++++++++++++++")
    print("+             千锋学生管理系统                +")
    print("+             【1】按学号删除                 +")
    print("+             【2】按姓名删除                 +")
    print("+             【3】返回上一级                 +")
    print("++++++++++++++++++++++++++++++++++++++++++++++")
def print_rewrite():
    print("++++++++++++++++++++++++++++++++++++++++++++++")
    print("+             千锋学生管理系统                +")
    print("+             【1】按学号修改                 +")
    print("+             【2】按姓名修改                 +")
    print("+             【3】返回上一级                 +")
    print("++++++++++++++++++++++++++++++++++++++++++++++")
def print_login():
    print("++++++++++++++++++++++++++++++++++++++++++++++")
    print("+             千锋学生管理系统                +")
    print("+                【1】登陆                    +")
    print("+                【2】注册                    +")
    print("+                【3】退出                    +")
    print("++++++++++++++++++++++++++++++++++++++++++++++")
def print_main():
    print("++++++++++++++++++++++++++++++++++++++++++++++")
    print("+             千锋学生管理系统                +")
    print("+            【1】添加学生信息                +")
    print("+            【2】查询学生信息                +")
    print("+            【3】修改学生信息                +")
    print("+            【4】删除学生信息                +")
    print("+            【5】退出登陆                    +")
    print("++++++++++++++++++++++++++++++++++++++++++++++")

def logon():  # 注册操作
    path = "./user.json"
    data = json读文件(path)
    if not data:
        data = {}
    user_name = input("请输入用户名:")
    while True:
        key = input("请输入密码:")
        if user_name not in data:
            key2 = input("请再次输入密码:")
            if key == key2 and key !="":
                data[user_name] = {"password": key, "students": {"count":1}}
                json写文件(path,data)
                print("注册成功")
                break
            elif key == "":
                print("密码不能为空,请重新输入")
            else:
                print("两次密码不相同,请重新输入密码")
        else:
            print("该用用户名已经被注册,请重新输入")
            return False
    return True
def login():  # 登陆操作
    path = "./user.json"
    data = json读文件(path)
    if not data:
        print("还没有用户,请先注册")
        return 0
    else:
        user_name = input("请输入用户名:")
        count = 5
        while True:
            key = input("请输入密码:")
            if user_name not in data:
                print("输入的用户不存在")
                break
            elif key == data[user_name]["password"]:
                print("登陆成功")
                return user_name
            else:
                count -= 1
                if count > 0:
                    print("密码错误,请重新输入。还能输入%d次"%count)
                else:
                    break
        return 0
def main_list(user_name):   #主程序台
    while True:
        print_main()
        n = input("请输入操作:")
        if n == "1":
            add_student(user_name)
        elif n == "2":
            show_students(user_name)
        elif n == "3":
            rewrite_student(user_name)
        elif n == "4":
            remove_student(user_name)
        elif n == "5":
            break

def show_students(user_name):  # 查找打印学生信息
    while True:
        print_show_main()
        n = input("请输入操作:")
        if n == "4":
            break
        else:
            data = read_file()
            number = data[user_name]["students"]["count"]
            students = data[user_name]["students"]
            if number == 1:
                print("还没有添加学生")
            elif n == "1":
                stu_name = input("请输入要查找的学生名字:")
                for item in students:
                    if "py" in item:
                        if stu_name == students[item]["姓名"]:
                            print(students[item])
            elif n == "2":
                stu_number = input("请输入要查找的学生学号:")
                for item in students:
                    if "py" in item:
                        if stu_number == item:
                            print(students[item])
            elif n == "3":
                for item in students:
                    if "py" in item:
                        print(students[item])

def add_student(user_name):        #添加学生
    name = input("请输入学生的姓名:")
    age = input("请输入学生的年龄:")
    phone = input("请输入学生的电话:")
    data = read_file()
    number =data[user_name]["students"]["count"]
    stu_number = "py1805"+str(number).rjust(3,"0")
    number +=1
    data[user_name]["students"]["count"] = number
    data[user_name]["students"][stu_number] = {"姓名":name,"年龄":age,"电话":phone,"学号":stu_number}
    write_students(data)

def remove_student(user_name):  # 删除学生信息
    while True:
        print_remove()
        n = input("输入你想要的操作:")
        if n == "3":
            break
        data = read_file()
        number = data[user_name]["students"]["count"]
        students = data[user_name]["students"]
        if number == 1:
            print("还没有添加学生")
        elif n == "1":
            stu_number = input("请输入要删除的学生学号:")
            if stu_number in students:
                print(students[stu_number])
                print("你确定要删除这个学生的信息吗?确认按y,取消按任意键")
                if input("确认按y,取消按任意键") == "y":
                    del data[user_name]["students"][stu_number]
                    write_students(data)
                    print("删除成功!")
        elif n == "2":
            stu_name = input("请输入要删除的学生名字:")
            temp = []
            i =1
            for item in students:
                if "py" in item:
                    if stu_name == students[item]["姓名"]:
                        temp.append(students[item])
            if len(temp) == 0:
                print("系统中没有名为%s的学生"%stu_name)
            else:
                print("姓名为:%s的学生"%stu_name)
                for item in temp:
                    print(i,item)
                    i +=1
                while True:
                    try:
                        index = int(input("请输入你想删除的学生的序号:"))
                        break
                    except:
                        print("请输入一个数字!")
                stu_number = temp[index-1]["学号"]
                print("你确定要删除这个学生的信息吗?确认按y,取消按任意键")
                if input("确认按y,取消按任意键") == "y":
                    del data[user_name]["students"][stu_number]
                    write_students(data)
                    print("删除成功!")
def rewrite_student(user_name):  # 修改学生信息
    while True:
        print_rewrite()
        n = input("输入你想要的操作:")
        if n == "3":
            break
        data = read_file()
        number = data[user_name]["students"]["count"]
        students = data[user_name]["students"]
        if number == 1:
            print("还没有添加学生")
        elif n == "1":
            stu_number = input("请输入要修改的学生学号:")
            if stu_number in students:
                print(students[stu_number])
                print("你确定要修改这个学生的信息吗?确认按y,取消按任意键")
                if input("确认按y,取消按任意键") == "y":
                    name = input("请输入学生的姓名:")
                    age = input("请输入学生的年龄:")
                    phone = input("请输入学生的电话:")
                    data[user_name]["students"][stu_number] = {"姓名": name, "年龄": age, "电话": phone, "学号": stu_number}
                    write_students(data)
                    print("修改成功!")
        elif n == "2":
            stu_name = input("请输入要修改的学生名字:")
            temp = []
            i =1
            for item in students:
                if "py" in item:
                    if stu_name == students[item]["姓名"]:
                        temp.append(students[item])
            if len(temp) == 0:
                print("系统中没有名为%s的学生"%stu_name)
            else:
                print("姓名为:%s的学生"%stu_name)
                for item in temp:
                    print(i,item)
                    i +=1
                while True:
                    try:
                        index = int(input("请输入你想修改的学生的序号:"))
                        break
                    except:
                        print("请输入一个数字!")
                stu_number = temp[index-1]["学号"]
                print("你确定要修改这个学生的信息吗?确认按y,取消按任意键")
                if input("确认按y,取消按任意键") == "y":
                    name = input("请输入学生的姓名:")
                    age = input("请输入学生的年龄:")
                    phone = input("请输入学生的电话:")
                    data[user_name]["students"][stu_number] = {"姓名": name, "年龄": age, "电话": phone, "学号": stu_number}
                    write_students(data)
                    print("修改成功!")

while True:          #登陆操作
    print_login()
    n = input("请输入你想要的操作:")
    if n == "1":  # 登陆操作
        user_name = login()

        if user_name:
            main_list(user_name)

    elif n == "2":    # 注册
        if not logon():
            logon()
    elif n == "3": #退出
        break
    else:
        print("输入有误,请重新输入")

模块代码:

import json

def json读文件(路径):
    try:
        with open(路径,"r",encoding="utf-8") as f:
            内容 = json.load(f)
    except:
        内容 = ""
        with open(路径,"w",encoding="utf-8") as f:
            json.dump(内容,f)
    return 内容
def json写文件(路径,内容):
    with open(路径, "w", encoding="utf-8") as f:
        json.dump(内容,f)
        print("写入成功!")
    return "写入成功!"

相关文章

网友评论

      本文标题:11-学生信息管理系统 完美版

      本文链接:https://www.haomeiwen.com/subject/qwqnmftx.html