学生管理系统

学生管理系统


def modify_student_information():
    try:
        stu_list = eval(open(f'files\{id1}_stu.txt', 'r', encoding='utf-8').read())
    except:
        stu_list = []
        print('没有学生')
    num1 = 0
    list1 = []
    for stu1 in stu_list:
        print('学号:', stu1['stu_num'], '姓名:', stu1['name'], '年龄:', stu1['age'], '电话:', stu1['tel'])
    num2 = input('请输入要修改的学生学号:')
    for i in range(len(stu_list)):
        if num2 == stu_list[i]['stu_num']:
            new_name = input('请输入姓名:')
            new_age = input('请输入年龄:')
            new_tel = input('请输入电话号码:')
            stu_list[i] = {'stu_num': num2, 'name': new_name, 'age': new_age, 'tel': new_tel}
            break
    else:
        print('没有该学生')
    open(f'files\{id1}_stu.txt', 'w', encoding='utf-8').write(str(stu_list))
    print('修改成功')
    adit_student()


def check_student():
    print('==============================================')
    print('请选择(1-5):')
    print('1.查看所有学生\n2.根据姓名查找\n3.根据学号查找\n4:返回')
    sel4 = int(input('请选择:'))
    if sel4 == 1:
        try:
            stu_list = eval(open(f'files\{id1}_stu.txt', 'r', encoding='utf-8').read())
        except:
            print('没有学生')
            stu_list = []
        for stu1 in stu_list:
            print('学号:', stu1['stu_num'], '姓名:', stu1['name'], '年龄:', stu1['age'], '电话:', stu1['tel'])
        check_student()
    elif sel4 == 2:
        try:
            stu_list = eval(open(f'files\{id1}_stu.txt', 'r', encoding='utf-8').read())
        except:
            stu_list = []
            print('没有该学生')
        name3 = input('请输入姓名:')
        count = 0
        for stu1 in stu_list:
            if name3 == stu1['name']:
                print('学号:',stu1['stu_num'], '姓名:',stu1['name'], '年龄:',stu1['age'], '电话:',stu1['tel'])
                count += 1
        if count == 0:
            print('没有该学生')
        check_student()

    elif sel4 == 3:
        try:
            stu_list = eval(open(f'files\{id1}_stu.txt', 'r', encoding='utf-8').read())
        except:
            stu_list = []
            print('没有该学生')
        num3 = input('请输入学号:')
        for stu1 in stu_list:
            if num3 == stu1['stu_num']:
                print('学号:', stu1['stu_num'], '姓名:',stu1['name'], '年龄:',stu1['age'], '电话:',stu1['tel'])
                break
        else:
            print('没有该学生')
    else:
        adit_student()


def delete_student():
    print('1.按姓名删\n2.按学号删\n3.返回')
    sel5 = int(input('请选择:'))
    if sel5 == 1:
        name1 = input('请输入要删除的学生名字:')
        try:
            stu_list = eval(open(f'files\{id1}_stu.txt', 'r', encoding='utf-8').read())
        except:
            stu_list = []
            print('没有学生')
        stu_list1 = stu_list[:]
        for i in stu_list1:
            if name1 == i['name']:
                stu_list.remove(i)
        open(f'files\{id1}_stu.txt', 'w', encoding='utf-8').write(str(stu_list))
        print('删除成功')
    elif sel5 == 2:
        num1 = input('请输入要删除的学生学号:')
        try:
            stu_list = eval(open(f'files\{id1}_stu.txt', 'r', encoding='utf-8').read())
        except:
            stu_list = []
            print('没有学生')
        for i in stu_list:
            if num1 == i['stu_num']:
                stu_list.remove(i)
                break
        open(f'files\{id1}_stu.txt', 'w', encoding='utf-8').write(str(stu_list))
        print('删除成功')
    elif sel5 == 3:
        adit_student()


def add_student():
    stu_name = input('请输入学生姓名:')
    stu_age = input('请输入年龄:')
    stu_tel = input('请输入电话:')
    try:
        stu = eval(open(f'files\{id1}_stu.txt', 'r', encoding='utf-8').read())
    except FileNotFoundError:
        stu = []
        open(f'files\{id1}_stu.txt', 'w', encoding='utf-8').write(str(stu))
    try:
        num1 = int(open(r'files\stu_num.txt', 'r', encoding='utf-8').read())
    except FileNotFoundError:
        num1 = 0
        open(r'files\stu_num.txt', 'w', encoding='utf-8').write(str(num1))
    open(r'files\stu_num.txt', 'w', encoding='utf-8').write(str(num1+1))
    stu_num = f'stu000{num1}'
    stu.append({'stu_num': stu_num, 'name': stu_name, 'age': stu_age, 'tel': stu_tel})
    open(f'files\{id1}_stu.txt', 'w', encoding='utf-8').write(str(stu))
    print('添加成功!')
    print('1.继续\n2.返回')
    sel3 = int(input('请选择:'))
    if sel3 == 1:
        add_student()
    elif sel3 == 2:
        adit_student()


def adit_student():
    print('==============================================')
    print(f'✿✿欢迎{id1}\n')
    print('\t❤ 1. 添加学生\n\t❤ 2. 查看学生\n\t❤ 3. 修改学生信息\n\t❤ 4. 删除学生\n\t❤ 5. 返回')
    print('==============================================')
    sel2 = int(input('请选择(1-5):'))
    if sel2 == 1:
        add_student()
    elif sel2 == 2:
        check_student()
    elif sel2 == 3:
        modify_student_information()
    elif sel2 == 4:
        delete_student()
    else:
        stu_m_s()

def login():
    global id1
    id1 = input('请输入账号:')
    password = input('请输入密码:')
    dict0 = {id1: password}
    try:
        id_pw = eval(open(r'files\account_password.txt', 'r', encoding='utf-8').read())
        if len(id_pw) == 0:
            print('账号不存在')
        for dict1 in id_pw:
            if dict0 == dict1:
                print('登录成功')
                adit_student()
                break
        else:
            print('登录失败!密码错误!')
    except FileNotFoundError:
        print('账号不存在')


def register():
    new_id = input('请输入账号(2~6):')
    if 2 <= len(new_id) <=6:
        password = input('请输入密码(6~12):')
        if 6 <= len(password) <= 12:
            try:
                id_pw = eval(open(r'files\account_password.txt', 'r', encoding='utf-8').read())
            except FileNotFoundError:
                id_pw = []
                open(r'files\account_password.txt', 'w', encoding='utf-8').write(str(id_pw))
            list2 = []
            for id_pw1 in id_pw:
                for key in id_pw1:
                    list2.append(key)
            if new_id in list2:
                print('注册失败!改账号已经注册过!')
            else:
                id_pw.append({new_id: password})
                open(r'files\account_password.txt', 'w', encoding='utf-8').write(str(id_pw))
                print('注册成功')
            stu_m_s()
        else:
            print('密码不规范,请重新输入')
            register()
    else:
        print('账号不规范,请重新输入')
        register()



def stu_m_s():
    print('==============================================')
    print('           **欢迎来到学生管理系统**\n')
    print('            ♢ 1. 登      录')
    print('            ♢ 2. 注      册')
    print('            ♢ 3. 退      出')
    print('\n\n==============================================')
    sel1 = int(input('请选择(1-3):'))

    if sel1 == 1:
        login()
    elif sel1 == 2:
        register()
    elif sel1 == 3:
        print('退出成功')

stu_m_s()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值