您现在的位置是:网站首页> 编程资料编程资料

Python实现信息管理系统_python_

2023-05-26 326人已围观

简介 Python实现信息管理系统_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返回课程列表)")     
                
                

-六神源码网