python写管理信息系统,python 信息系统

  python写管理信息系统,python 信息系统

  本文主要详细介绍了Python实现的信息管理系统。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。

  本文分享用Python实现信息管理系统的具体代码,供大家参考。具体内容如下

  项目名称=python

  文件名=学生信息管理系统

  作者=向日葵

  导入时间

  #管理员登录

  gly_zm=(admin ,[1234])

  #学员登录

  st_dict=dict()

  #课程数据

  kc_dict=dict()

  #选课数据

  xk_dict=dict()

  #记录当前登录的用户

  jl_yh=无

  #登录菜单页面选项

  Cd_ym={1:gly(),#管理员登录

  2 3360 xs(),#学生登录

  3 3360 ZC XS(),#学生注册

  4 3360 TC ()} #退出

  #管理员主页选择

  Gly_ym={1:gly_zjkc(),#添加课程

  2 3360 Gly _ CKKC(),#查看课程

  3 3360 Gly _ CKSY(),#查看学生

  4 3360 DL _ CDJM(),#返回登录页面

  5 3360 TC ()} #退出

  #管理员选修选项

  Gly_xk={1:gly_zjkc(),#添加课程

  2 3360 Gly _ SCKC(),#删除课程

  3 3360 Gly _ XGKC(),#修改课程

  4 3360 Gly _ SY ()} #返回管理员主页

  #管理员查看学员

  Gly _ ckxy={1 : Gly _ zjxy(),#查看指定的学生

  2 3360 Gly _ SY ()} #返回管理员主页

  #学生主页选择

  Xs_ym={1:xs_grzl(),# profile

  2 3360 XS _ XGMM(),#修改密码

  3 3360 XS _ CKKC(),#查看所有课程

  4 3360 XS _ YXKC(),#查看所选课程

  5:dl_cdjm(),#返回登录页面

  6 3360 TC ()} #退出

  #改进数据选择

  Xs _ ws _ ZL={1 : xs _ wszl(),#完美数据

  2 3360 XS _ SY ()} #学生主页

  #学生选择课程

  Xs_xk={1:ks_xk(),#开始选课

  2 3360 XS _ SY ()} #学生主页

  #登录菜单

  #####################################################################################

  #登录菜单页面

  def dl_cdjm():

  打印(“学生管理系统”)

  打印( *****************************)

  打印(“1,管理员登录”)

  打印(“2,学生登录”)

  打印( 3,学生注册)

  打印(“4,安全退出”)

  打印( *****************************)

  选择=输入(“输入您的选项”)

  options=cd_ym.get(choice, dl_cdjm())

  返回评估(选项)

  #管理员登录

  def gly():

  用户名=输入(“请输入您的账号”)

  密码=输入(“请输入您的密码”)

  #判断账户密码

  如果用户名==gly_zm[0]和密码==gly_zm[1][0]:

  #登录成功

  r

  eturn 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("请输入要修改的课程数据(scorecounttimesdesc)")

      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("请输入你要修改的项目(phonereg_noemailaddress)")

      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()

  效果图

  

  

  

  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: