以下代码只包含管理员代码,用户代码和管理员相似

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import os
sys.path.append(os.path.dirname(os.path.dirname(__file__)))
import random
import time
import pickle
import os
from lib import modles
from lib.modles import Admin from config import setting def create_course(admin_obj):
teacher_list = pickle.load(open(setting.TEACHER_db_dir, 'rb'))
for num, item in enumerate(teacher_list, 1):
print(num, item.name, item.age, item.create_time, item.create_admin.username)
course_list = []
while True:
name = input('请输入课程(q退出):')
if name == 'q':
break
cost = input('请输入课时费:')
num = input('选择老师(序号):')
obj = modles.Course(name, cost, teacher_list[int(num)-1], admin_obj)
course_list.append(obj)
if os.path.exists(setting.COURSE_db_dir):
exists_list = pickle.load(open(setting.COURSE_db_dir, 'rb'))
course_list.extend(exists_list)
pickle.dump(course_list, open(setting.COURSE_db_dir, 'wb')) def create_teacher(admin_obj):
teacher_list = []
while True:
teacher_name = input('请输入老师姓名(q表示退出)')
if teacher_name == 'q':
break
teacher_age = input('请输入老师年龄')
obj = modles.Teacher(teacher_name, teacher_age, admin_obj)
teacher_list.append(obj) if os.path.exists(setting.TEACHER_db_dir):
exists_list = pickle.load(open(setting.TEACHER_db_dir, 'rb'))
teacher_list.extend(exists_list)
pickle.dump(teacher_list, open(setting.TEACHER_db_dir, 'wb')) def login(user, pwd):
if os.path.exists(os.path.join(setting.BASE_ADMIN_DIR, user)):
# 这有bug,已解决,导入Admin和添加文件路径os.path.join(setting.BASE_ADMIN_DIR
admin_obj = pickle.load(open(os.path.join(setting.BASE_ADMIN_DIR, user), 'rb'))
if admin_obj.login(user, pwd):
while True:
sel = input("1、创建老师: 2、创建课程:q、退出")
if sel == '':
create_teacher(admin_obj)
elif sel == '':
create_course(admin_obj)
else:
break
else:
return 1
else:
return 0 def register(user, pwd):
admin_obj = modles.Admin()
admin_obj.register(user, pwd) def main():
inp = input("1、管理员登录:2、管理员注册:\n >>>>>")
user = input('请输入用户名:')
pwd = input('请输入密码:')
if inp == '':
ret = login(user, pwd)
if ret == 1:
print('密码错误')
elif ret == 0:
print('用户不存在') elif inp == '':
register(user, pwd) if __name__ == "__main__":
main()

admin

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__)) BASE_ADMIN_DIR = os.path.join(BASE_DIR, "db", "adminall") TEACHER_db_dir = os.path.join(BASE_DIR, "db", "teacher_list") COURSE_db_dir = os.path.join(BASE_DIR, "db", "course_list")

setting

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import random
import time
import pickle
from config import setting
import os class Teacher:
"""
封装老师的相关信息
"""
def __init__(self, name, age, admin):
self.name = name
self.age = age
self.__assets = 0
self.create_time = time.strftime('%Y-%m-%d %H:%M:%S')
self.create_admin = admin def gain(self, cost):
"""
:param cost: 资产的增加
:return:
"""
self.__assets += cost def decrease(self, cost):
"""
:param cost: 资产的减少
:return:资产
"""
self.__assets -= cost class Course:
"""
课程相关信息
"""
def __init__(self,course_name, cost, teacher_obj, admin):
self.course_name = course_name
self.cost = cost
self.teacher_obj = teacher_obj
self.create_time = time.strftime('%Y-%m-%d %H:%M:%S')
self.create_admin = admin def have_lesson(self):
"""
课程上课,自动给相关联的任课老师增加课时费 :return:课程内容返回上课者
"""
self.teacher.gain(self.cost) content = random.randrange(10, 100)
r = time.strftime('%Y-%m-%d %H:%M:%S')
temp = "课程:%s: 老师:%s: 内容: %d: 时间:" %(self.course_name, self.teacher, content, r)
return temp def absence(self):
"""
教学事故
""" class Admin:
def __init__(self):
self.username = None
self.password = None def login(self, user, pwd):
"""
管理员登录
:param user:用户名
:param pwd: 密码
:return:
"""
if self.username == user and self.password == pwd:
return True
else:
return False def register(self, user, pwd): """
管理员注册
:param user: 用户名
:param pwd: 密码
:return:
""" self.username = user
self.password = pwd path = os.path.join(setting.BASE_ADMIN_DIR,self.username) pickle.dump(self, open(path, 'xb'))

modles

最新文章

  1. java String类
  2. xxxxxxxx
  3. [django]Django的css、image和js静态文件生产环境配置
  4. win7 32 bit VS2012 OpenCV3.0配置
  5. Linux下安装Xdebug
  6. Oracle 事务的開始与结束
  7. ASP.NET MVC — 第 4 天
  8. 使用java操作HDFS
  9. MVC知识点汇总
  10. PXE(preboot execution environment):【网络】预启动执行环节:安装 debian 9系列:成功
  11. HTTP简介,http是一个属于应用层的面向对象的协议
  12. java--Git学习使用
  13. camera驱动框架分析(上)【转】
  14. (转)浅谈AIX下IPFilter防火墙
  15. python学习笔记——urllib库中的parse
  16. linux基础命令---whereis
  17. 404 Note Found队Beta3
  18. 手机APP测试点总结
  19. javascript设计模式系列二-封装
  20. Python习题(分页显示)

热门文章

  1. Linux 进程调度笔记(一)
  2. iptables (二) nat & tcp_wrapper
  3. P2048 [NOI2010]超级钢琴 [堆+st表]
  4. Csla One or more properties are not registered for this type
  5. Visual Studio Code搭建Python开发环境方法总结
  6. 1、腾讯云搭建Hadoop3集群
  7. 0002 Django工程创建
  8. 洛谷P1765 手机_NOI导刊2010普及(10) 关于cin和getline的一些区别 以及一些STL
  9. 小I的小姐姐
  10. 菜鸟教程 Missing parentheses in call to 'print'