文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python如何实现信息管理系统

2023-06-30 18:20

关注

本文小编为大家详细介绍“Python如何实现信息管理系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python如何实现信息管理系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

具体代码如下

"""项目名称 = 'python'文件名= '学生信息管理系统'作者 = '向日葵'"""import time# 管理员登录gly_zm = ("admin",["1234"])# 学员登录st_dict = dict()# 课程数据kc_dict = dict()# 选课数据xk_dict = dict()# 记录当前登录的用户jl_yh = None# 登录菜单页面选项cd_ym = {"1":"gly()",        # 管理员登录         "2":"xs()",         # 学生登录         "3":"xs_zc()",      # 学生注册         "4":"tc()"}         # 退出# 管理员首页选择gly_ym = {"1":"gly_zjkc()",       # 增加课程          "2":"gly_ckkc()",       # 查看课程          "3":"gly_cksy()",       # 查看学员          "4":"dl_cdjm()",        # 返回登录页面          "5":"tc()"}             # 退出# 管理员选课选项gly_xk = {"1":"gly_zjkc()",        # 增加课程          "2":"gly_sckc()",        # 删除课程          "3":"gly_xgkc()",        # 修改课程          "4":"gly_sy()"}          # 返回管理员首页# 管理员查看学员gly_ckxy = {"1":"gly_zjxy()",      # 查看指定学生            "2":"gly_sy()"}        # 返回管理员首页# 学生首页选择xs_ym = {"1":"xs_grzl()",          # 个人资料         "2":"xs_xgmm()",          # 修改密码         "3":"xs_ckkc()",          # 查看所有课程         "4":"xs_yxkc()",          # 查看已选课程         "5":"dl_cdjm()",          # 返回登录页面         "6":"tc()"}               # 退出# 完善资料选择xs_ws_zl = {"1":"xs_wszl()",       # 完善资料            "2":"xs_sy()"}         # 学生首页# 学生选课xs_xk = {"1":"ks_xk()",           # 开始选课         "2":"xs_sy()"}           # 学生首页#                                         登录菜单###################################################################################### 登录菜单页面def dl_cdjm():    print("               学生管理系统")    print("*******************************************")    print("                1、管理员登录")    print("                2、学生登录")    print("                3、学生注册")    print("                4、安全退出")    print("*******************************************")    choice = input("输入你的选项")    options = cd_ym.get(choice,"dl_cdjm()")    return eval(options)# 管理员登录def gly():    username = input("请输入你的账号")    password = input("请输入你的密码")    # 判断账号密码    if username == gly_zm[0] and password ==  gly_zm[1][0]:        # 登录成功        return gly_sy()    else:        input("账号或密码错误,按任意键返回")        return dl_cdjm()# 学生登录def xs():    global jl_yh    username = input("请输入你的账号")    password = input("请输入你的密码")    # 判断账号    if username in st_dict:        # 判断密码        if password == st_dict.get(username).get("password"):            # 登录成功,记录学员            jl_yh = st_dict.get(username)            return xs_sy()        else:            input("账号或密码输入有误,按任意键返回登录菜单")            return dl_cdjm()    else:        input("账号不存在,按任意键返回登录菜单")        return dl_cdjm()# 学生注册def xs_zc():    # 判断账号    username = input("请输入你的账号")    if username in st_dict:        input("账号已存在,请重新输入")        return xs_zc()    # 判断密码    password = input("请输入你的密码")    confirm = input("请确认密码:")    if password != confirm:        input("两次密码不同,请重新输入")        return xs_zc()    # 创建用户注册    user = {"username": username, "password": password,            "email": None, "phone": None, "address": None,            "reg_no": None, "gender": None, "age": None}    # 添加    st_dict[username] = user    input("注册成功,按任意键返回主菜单")    return dl_cdjm()# 安全退出def tc():    """退出系统"""    input("即将退出,按任意键继续")    for i in range(3):        print(f"系统将在{3-i}s退出")        time.sleep(1)    exit(1)#                                          管理员菜单#######################################################################################def gly_sy():    """管理员首页"""    print("          学员管理系统-管理员首页")    print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~")    print("             1. 增加课程")    print("             2. 查看课程")    print("             3. 查看学员")    print("             4. 返回登录菜单")    print("             5. 安全退出")    print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~")    choice = input("请输入选项:")    options = gly_ym.get(choice,"gly_sy()")    return eval(options)# 增加课程def gly_zjkc():    name = input("请输入课程")    if name in kc_dict:        res = input("课程已存在,请录入其他课程。按任意键继续(Q返回首页)").strip()        if res.upper() == "Q":            return gly_sy()    teacher = input("请输入课程讲师:").strip()    score = input("请输入课程学分:").strip()    count = input("请输入学习人数上限:").strip()    times = input("请输入课程学时:").strip()    desc = input("请输入课程描述:").strip()    clazz = {"name": name, "score": score, "count": count, 'selected': 0,             "times": times, "desc": desc, "teacher": teacher}    # 注册课程    kc_dict[name] = clazz    input("录入完成,按任意键继续")    return gly_sy()# 查看课程def gly_ckkc():    print("课程名称\t课程学时\t课程学分\t课程讲师\t课程描述")    for clazz in kc_dict.values():        print(f"{clazz['name']}\t{clazz['times']}\t{clazz['score']}\                        \t{clazz['teacher']}\t{clazz['desc']}")    chonic = input("\n共有上述课程、请选择(1、增加课程 2、删除课程 3、修改课程 4、返回首页):")    return eval(gly_xk.get(chonic, "gly_ckkc()"))# 删除课程def gly_sckc():    name = input("请选择你要删除的课程名称")    if name in kc_dict:        res = input("请确认是否删除课程(Y确认)")        if res.lower() == "y":            kc_dict.pop(name)            input("删除完成")        return gly_ckkc()    else:        res = input("没有这门课,按任意键重新输入(Q返回课程列表")        if res.lower() == "q":            return gly_ckkc()        return gly_sckc()# 修改课程def gly_xgkc():    name = input("请输入你要修改的课程名称")    choice = input("请输入要修改的课程数据(score|count|times|desc)")    if choice == "score":        score = input("请输入新的学分")        kc_dict[name]["score"] = score    elif choice == "count":        count = input("请输入新的人数上限")        kc_dict[name]["count"] = count    elif choice == "times":        times = input("请输入新的课程课时")        kc_dict[name]["times"] = times    elif choice == "desc":        desc = input("请输入新的课程描述")        kc_dict[name]["desc"] = desc    input("修改完成,按任意键返回查看课程页面")    return gly_ckkc()# 查看学员def gly_cksy():    print("会员账号\t联系邮箱\t联系电话\t性别")    for student in st_dict.values():        print(f"{student['username']}\t{student.get('email', '待完善')}\        \t{student.get('phone', '待完善')}\t{student.get('gender', '待完善')}\t")    choice = input("\n所有学员信息展示完成,(1-查看指定学员详细信息,输入2-返回管理员首页)")    return eval(gly_ckxy.get(choice,"gly_sy()"))def gly_zjxy():    """查看某个指定会员"""    username = input("请输入学员账号:")    if username in st_dict:        student = st_dict[username]        # 展示学员信息        print("***************************************")        print(f"    学员账号:{student.get('username')}")        print(f"    学员手机:{student.get('phone')}")        print(f"    学员学分:{student.get('score')}")        print(f"    学员学时:{student.get('times')}")        print(f"    学员家庭地址:{student.get('address')}")        print(f"    学员邮箱:{student.get('email', '待完善')}")        print("****************************************")        input("展示完成,按任意键返回学员列表")        return gly_cksy()    else:        res = input("没有这个学员,按任意键重新输入(Q返回管理员首页)")        if res.upper() == "Q":            return gly_sy()        return gly_zjxy()#                                         会员菜单################################################################################### 学生首页def xs_sy():    print("          学员管理系统-学员首页")    print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~")    print("              1. 查看个人资料")    print("              2. 修改登录密码")    print("              3. 查看所有课程")    print("              4. 查看已选课程")    print("              5. 返回登录菜单")    print("              6. 安全退出")    print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~")    choice = input("请输入您的选项:")    return eval(xs_ym.get(choice,"xs_sy()"))# 查看个人资料def xs_grzl():    """查看个人资料"""    print("#####################")    print(f"   账号:{jl_yh.get('username')}")    print(f"   性别:{jl_yh.get('gender', '待完善')}")    print(f"   年龄:{jl_yh.get('age', '待完善')}")    print(f"   手机:{jl_yh.get('phone', '待完善')}")    print(f" 身份证:{jl_yh.get('reg_no', '待完善')}")    print(f"   邮箱:{jl_yh.get('email', '待完善')}")    print(f"   地址:{jl_yh.get('address', '待完善')}")    print("#####################")    res = input("\n信息展示完成,(1-完善个人资料;2-返回学员首页)")    return eval(xs_ws_zl.get(res,"xs_grzl()"))# 完善资料def xs_wszl():    choic = input("请输入你要修改的项目(phone|reg_no|email|address)")    if choic == "phone":        phone = input("请输入你的手机号")        jl_yh["phone"] = phone    elif choic == "reg_no":        reg_no = input("请输入你的身份证")        jl_yh["reg_no"] = reg_no    elif choic == "email":        email = input("请输入你的邮箱")        jl_yh["email"] = email    elif choic == "address":        address = input("请输入你的地址")        jl_yh["address"] = address    input("修改完成,按任意键查看")    return xs_grzl()# 修改登录密码def xs_xgmm():    input("即将修改,请确认周围安全,按任意键继续")    old_password = input("请输入旧密码")    if old_password != jl_yh.get("password"):        input("密码错误")        return dl_cdjm()    new_password = input("请输入新的密码")    new_mima = input("请确认密码")    if new_password != new_mima:        input("两次密码输入不一致,请重新修改")        return xs_sy()    jl_yh["password"] = new_password    input("密码修改成功")    return dl_cdjm()# 查看所有课程def xs_ckkc():    print("课程名称\t课程学时\t课程学分\t课程讲师\t课程描述")    for clazz in kc_dict.values():        print(f"{clazz['name']}\t{clazz['times']}\t{clazz['score']}\                            \t{clazz['teacher']}\t{clazz['desc']}")    choice = input("\n共有上述课程,请选择您的操作(1-开始选课;2-返回首页):")    return eval(xs_xk.get(choice, "xs_ckkc()"))# 开始选课def ks_xk():    name = input("请输入要选择的课程名称:")    if name in kc_dict:        # 开始选课        if int(kc_dict[name]["selected"]) < int(kc_dict[name]["count"]):            xk_dict[jl_yh.get("username")][name] = kc_dict[name].copy()            xk_dict[jl_yh.get("username")][name].update({"studied": 0, "status": "learning"})            # 更改课程的选课人数            kc_dict[name]['selected'] = int(kc_dict[name]['selected']) + 1            input("选择结束,按任意键返回首页")            return xs_sy()        else:            input("课程人数已满,请选择其他课程")    else:        res = input("没有这门课程,按任意键重新输入(Q返回课程列表)")        if res.lower() == "q":            return xs_ckkc()        else:            return ks_xk()# 查看已选课程def xs_yxkc():    my_classer = xk_dict.get(jl_yh['username'])    print("课程名称\t课程学分\t课程学时\t已学课时\t课程状态")    if my_classer != None:        for clazz in my_classer.vaiues():            print(f"{clazz['name']}\t"                  f"{clazz['score']}\t"                  f"{clazz['times']}\t"                  f"{clazz['studied']}\t"                  f"{clazz['status']}")        res = input("1-学习指定课程;2-返回首页")        if res == '1':            reso = input("请输入你要学的课程")            print("正在学习中")            time.sleep(3)            print('学习完成')            my_classer[reso]['studied'] += 1        return xs_sy()    else:        input("当前用户还没有选择任何课程,按任意键返回首页")        return xs_sy()# 程序运行入口dl_cdjm()

效果图

Python如何实现信息管理系统

Python如何实现信息管理系统

Python如何实现信息管理系统

读到这里,这篇“Python如何实现信息管理系统”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯