day12作业(2019-08-06)

"""---author==hxj---"""
import json


def add_student():
    with open('files/students_info.json', encoding='utf-8') as f:
        students_data = json.loads(f.read())
    student_name = input("姓名:")
    student_sno = input("学号:")
    student_sex = input("性别:")
    student_age = input("年龄:")
    student_tel = input("电话:")
    dict1 = {'name': student_name, 'sno': student_sno, 'sex': student_sex, 'age': student_age, 'tel': student_tel}
    with open('files/students_info.json', 'w', encoding='utf-8') as f:
        students_data.append(dict1)
        f.write(json.dumps(students_data))
        print("添加成功!")
        return student_manage()


def query_manage():
    with open('files/students_info.json', encoding='utf-8') as f:
        students_data = json.loads(f.read())
    for index in students_data:
        print(index)
    return student_manage()


def modification_manage():
    with open('files/students_info.json', encoding='utf-8') as f:
        students_data = json.loads(f.read())
    value = input("请输入要修改的学生的姓名:")
    for index in range(len(students_data)):
        if students_data[index]['name'] == value:
            student_name = input("姓名:")
            student_sno = input("学号:")
            student_sex = input("性别:")
            student_age = input("年龄:")
            student_tel = input("电话:")
            students_data[index] = {'name': student_name, 'sno': student_sno, 'sex': student_sex,
                                    'age': student_age, 'tel': student_tel}
            # students_data.append(index)
            with open('files/students_info.json', 'w', encoding='utf-8') as f:
                f.write(json.dumps(students_data))
                print("修改成功!")
                return student_manage()
    else:
        print("不存在该学生!")


def del_manage():
    with open('files/students_info.json', encoding='utf-8') as f:
        students_data = json.loads(f.read())
    value = input("请输入要删除的学生姓名!")
    for index in range(len(students_data)):
        if students_data[index]['name'] == value:
            del students_data[index]
            with open('files/students_info.json', 'w', encoding='utf-8') as f:
                f.write(json.dumps(students_data))
            print("删除成功!")
            return student_manage()


def student_manage():
    with open('files/student_page.txt', encoding='utf-8') as f:
        students_data = f.read()
    while True:
        print(students_data)
        choice = input("选择(1-5):")
        if choice == '1':
            return add_student()
        elif choice == '2':
            return query_manage()
        elif choice == '3':
            return modification_manage()
        elif choice == '4':
            return del_manage()
        elif choice == '5':
            return main_page()
            break
        else:
            print("输入错误!")


def login():
    with open('files/admin.txt', encoding='utf-8') as f:
        admin_data = json.loads(f.read())
    while True:
        username = input("请输入账号(3-6位):")
        if not 3 <= len(username) <= 6:
            print("账号(3-6位)")
        else:
            break
    while True:
        password = input("请输入密码:")
        if not 6 <= len(password) <= 12:
            print("密码(6-12位)")
        else:
            break
    if username in admin_data:
        if admin_data[username] == password:
            print("登录成功!")
            return student_manage()
        else:
            print("账号或密码错误!")
            return
    else:
        print("账号不存在!")
        return


def register():
    while True:
        username = input("请输入账号(3-6位):")
        if 3 <= len(username) <= 6:
            break
        else:
            print("输入账号格式错误!")
    while True:
        password = input("请输入密码(6-12位):")
        if 6 <= len(password) <= 12:
            break
        else:
            print("输入密码格式错误!")
    with open('files/admin.txt', encoding='utf-8') as f:
        admin_data = json.loads(f.read())
    if username in admin_data:
        print("该账号已被注册!")
        return

    admin_data[username] = password
    with open('files/admin.txt', 'w', encoding='utf-8')as f:
        f.write(json.dumps(admin_data))
        print("注册成功!")
        return login()


def main_page():
    with open('files/page.txt', encoding='utf-8') as f:
        page = f.read()

    while True:
        print(page)
        value = input("请选择(1-3):")
        if value == '1':
            return login()
        elif value == '2':
            return register()
        elif value == '3':
            break
        else:
            print("输入错误!")


if __name__ == '__main__':
    main_page()

你可能感兴趣的:(day12作业(2019-08-06))