python编写学生选课系统程序_python--面向对象编程之学生选课系统练习

1 #!/usr/bin/env python

2 #-*- coding:utf-8 -*-

3 """

4 管理员可操作的方法5 """

6 importos7 importsys8 sys.path.append(os.path.dirname(os.path.dirname(__file__)))9 importpickle10 importos11 from lib importmodels12 from config importsettings13 from lib.models importCourse14 from lib.models importTeacher15 from lib.models importAdmin16

17

18 defcreate_teacher(admin_obj):19 """

20 管理员创建老师21 :param admin_obj:22 :return:23 """

24 teacher_list =[]25 whileTrue:26 teacher_name = input("请输入老师的姓名:(q退出)")27 if teacher_name == "q":28 break

29 teacher_age = input("请输入老师的年龄:")30 obj =models.Teacher(teacher_name, teacher_age, admin_obj)31 teacher_list.append(obj)32 if os.path.exists("teacher_list"): #判断老师列表是否存在

33 exists_list = pickle.load(open(settings.TEACHER_DB_DIR, 'rb'))34 teacher_list.extend(exists_list)35 pickle.dump(teacher_list, open(settings.TEACHER_DB_DIR, 'wb'))36

37 defcreate_course(admin_obj):38 """

39 管理员创建课程40 :param admin_obj:41 :return:42 """

43 teacher_list = pickle.load(open(settings.TEACHER_DB_DIR, 'rb'))44 for num, item in enumerate(teacher_list, 1):45 print(num, item.name, item.age, item.create_time, item.create_admin.username)46 course_list =[]47 whileTrue:48 name = input("请输入课程名(q退出):")49 if name == "q":50 break

51 cost = input("请输入课时费:")52 num = input('请选择老师(序号):')53 obj = models.Course(name, cost, teacher_list[int(num) - 1], admin_obj)54 course_list.append(obj)55 if os.path.exists(settings.COURSE_DB_DIR): #判断课程列表是否存在

56 exists_list = pickle.load(open(settings.COURSE_DB_DIR, 'rb'))57 course_list.extend(exists_list)58 pickle.dump(course_list, open(settings.COURSE_DB_DIR, 'wb'))59

60 deflook_course():61 """

62 管理员查看课程表63 :return:64 """

65 course_list = pickle.load(open(settings.COURSE_DB_DIR, 'rb'))66 for num, item in enumerate(course_list, 1):67 print(num, item.course_name, item.cost, item.teacher.name, item.create_time, item.create_admin.username)68

69 defto_login(user, pwd):70 """

71 管理员登录的方法72 :param user:73 :param pwd:74 :return:75 """

76 ifos.path.exists(os.path.join(settings.BASE_ADMIN_DIR, user)):77 #从文件中将管理员对象读取出来(里面封装了用户信息以及提供了登录访求)

78 admin_obj = pickle.load(open(os.path.join(settings.BASE_ADMIN_DIR, user), 'rb'))79 ifadmin_obj.login(user, pwd):80 print('登录成功!')81 whileTrue:82 sel = input("1、创建老师;2、创建课程; 3、查看课程表(q退出程序) \n >>>>")83 if sel == '1': #创建老师

84 create_teacher(admin_obj)85 elif sel == '2': #创建课程

86 create_course(admin_obj)87 elif sel == '3':88 look_course()89 else:90 break

91 else:92 return 1

93 else:94 return095

96 defto_register(user, pwd):97 """

98 管理员注册的方法99 :param user:100 :param pwd:101 :return:102 """

103 admin_obj =models.Admin()104 admin_obj.register(user, pwd)105

106 defmain():107 inp = input("1、管理员登录; 2、管理员注册;\n >>>>>")108 user = input('请输入用户名:')109 pwd = input('请输入密码:')110 if inp == '1':111 ret =to_login(user, pwd)112 if ret == 1:113 print("密码错误!")114 elif ret ==0:115 print("用户不存在!")116

117 elif inp == '2':118 to_register(user, pwd)119

120

121 if __name__ == "__main__":122 main()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值