python72块砖一共72人搬,Python学习第72天(复习:选课实现习题)(示例代码)

importos,sys,logging,shelve

BASE_DIR= os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

sys.path.append(BASE_DIR)from conf importsettingfrom src.class_school importSchoolclassSchool_view:

choice={‘1‘: ‘add_course‘,‘2‘: ‘add_classroom‘,‘3‘: ‘add_teacher‘,‘4‘: ‘show_classroom‘,‘5‘: ‘show_teacher‘,‘6‘: ‘add_teacher‘,‘7‘:exit()

}def __init__(self):if os.path.exists(setting.school_file+‘.dat‘):

self.school_file=shelve.open(setting.school_file)

self.school_manger()

self.school_file.close()else:print(‘没有学校和班级数据,请先进行创建‘)

self.init_school()

self.school_manger()

self.school_file.close()definit_school(self):

self.school_file=shelve.open(setting.school_file)

self.school_file[‘北京‘] = School(‘总校‘,‘北京‘)

self.school_file[‘上海‘] = School(‘总校‘,‘上海‘)defschool_manger(self):whileTrue:for school_name inself.school_file:print(‘学校名称是:%s‘%school_name)

school_option= input(‘请输入需要管理的学校名称‘)if school_option inself.school_file:

self.school_option=school_option

self.school_obj=self.school_file[school_option]else:print(‘请重新输入!!!‘)#‘‘‘ 如果是北京就等于self.school_obj[北京]

#file[北京] =School(‘总校‘,‘北京‘)

#所以当下文出现了self.school_obj.school_course =School(‘总校‘,‘北京‘).school_course

#等同于调用了School().school_course的属性是

#‘‘‘

whileTrue:

menu= ‘1.添加课程‘‘2.添加班级‘‘3.添加讲师‘‘4.查看班级、课程‘‘5.查看讲师‘‘6.修改讲师‘‘7.退出‘

print(‘欢迎来到Python学习%s校区‘%self.school_option)print(menu)

user_choice= input(‘请选择你所需的功能>>>‘)ifhasattr(self,choice[user_choice]):

func=getattr(self,choice[user_choice])else:print(‘指令输入错误。‘)pass

defadd_course(self):

course_name= input(‘请输入课程名称>>>:‘).strip()

course_price= input(‘请输入课程价格>>>:‘).strip()

course_time= input(‘请输入课程周期[默认为周]>>>:‘).strip()if course_name inself.school_obj.school_course:print(‘课程已经存在‘)else:

self.school_obj.create_course(course_name, course_price,

course_time)#相当于School.create_course(course_name, course_price, course_time)

print(‘%s课程添加成功‘ %course_name)

self.school_file.update({self.school_option: self.school_obj})

self.school_file.close()defadd_classroom(self):

class_name= input(‘请输入班级名称>>>:‘).strip()

class_course= input(‘请输入课程>>>:‘).strip()if class_name not in self.school_obj.sch_class_room: #sch_class_room

if class_name not inself.school_obj.school_course:

course_obj=self.school_obj.school_course[class_course]

self.school_obj.create_classroom(class_name, course_obj)

self.school_file.update({self.school_option: self.school_obj})

self.school_file.close()print(‘班级创建成功‘)else:print(‘课程不存在‘)else:print(‘班级已经存在‘)defshow_classroom(self):for classroom inself.school_obj.sch_class_room:

class_obj=self.school_obj.sch_class_room[classroom]print(‘班级名称:%s课程:%s‘

%(class_obj.class_name, class_obj.course_obj.course_name))defadd_teacher(self):

teacher_name= input(‘请输入讲师姓名>>>:‘)

teacher_age= input(‘请输入讲师年龄>>>:‘)

teacher_gender= input(‘请输入讲师性别>>>:‘)

teacher_salary= input(‘请输入讲师薪水>>>:‘)

class_name= input(‘请输入授课班级>>>:‘)if class_name in self.school_obj.sch_class_room: #sch_class_room

class_obj =self.school_obj.sch_class_room[class_name]if teacher_name not inself.school_obj.sch_teacher:

self.school_obj.create_teacher(teacher_name, teacher_age, teacher_gender, teacher_salary, class_name,

class_obj)print(‘讲师创建成功,请确认是否已经签完合同‘)else:

self.school_obj.modify_teacher({})print(‘修改讲师成功‘)

self.school_file.update({self.school_option: self.school_obj})

self.school_file.close()else:print(‘请先创建班级‘)defshow_teacher(self):for teacher_name inself.school_obj.sch_teacher:

teacher_obj=self.school_obj.sch_teacher[teacher_name]for t inteacher_obj.teacher_classroom:

class_obj=self.school_obj.sch_class_room[t]

stu_list=[]for j inclass_obj.class_student:

stu_list.append(j)print(‘教师姓名:%s教师所在班级:%s教授课程:%s课程学员:%s‘ %(teacher_obj.teacher_name

, t, class_obj.course_obj.course_name,

class_obj.class_student))defexit(self):

sys.exit(‘程序退出‘)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值