# Author : Kelvin
# Date : 2019/1/15 20:44 """
学校与老师关联
课程与老师和学校关联
""" class School():
def __init__(self, name, profession):
self.name = name
self.profession=profession class Teacher():
def __init__(self, name, age, gender, school):
self.name = name
self.age = age
self.gender = gender
self.school=school class Course():
def __init__(self, name, time, school, teacher):
self.name = name
self.time = time
self.school = school
self.teacher = teacher s1 = School("大庆师范学院", "计算机专业")
s2 = School("大庆师范学院", "生物工程专业")
s3 = School("大庆师范学院", "外国语专业") t1 = Teacher("kelvin", 22, "male", s1)
t2 = Teacher("alex", 23, "male", s3)
t3 = Teacher("jam", 25, "female", s2) msg1="""
学校选项:
1:"大庆师范学院", "计算机专业"
2:"大庆师范学院", "生物工程专业"
3:"大庆师范学院", "外国语专业"
"""
msg2="""
教师选项:
1:"kelvin", 22, "male", "大庆师范学院", "计算机专业"
2:"alex", 23, "male", "大庆师范学院", "外国语专业"
3:"jam", 25, "female","大庆师范学院", "生物工程专业"
"""
while True:
print(msg1)
choice1 = input("请选择学校专业:")
s = {
"": s1,
"": s2,
"": s3
}
if choice1 in s:
sx = s[choice1]
else:
print("专业选择异常,请重试!")
break print(msg2)
choice2 = input("请选择老师:")
t = {
"": t1,
"": t2,
"": t3
}
if choice2 in t:
tx = t[choice2]
else:
print("教师选择异常,请重试!")
break
course_name = input("请输入课程名:")
course_time = input("请输入课程时长:")
new_course = Course(course_name, course_time, sx, tx)
print("选课成功! [%s]课程所属的学校是[%s]专业是[%s] 老师名字[%s]年龄[%s]性别[%s]所属学校[%s]专业[%s] 课程时长:[%s]" % (
new_course.name, new_course.school.name, new_course.school.profession, new_course.teacher.name,
new_course.teacher.age, new_course.teacher.gender, new_course.teacher.school.name,new_course.teacher.school.profession,new_course.time))
break

Python面向对象 组合(选课系统示例)的更多相关文章

  1. python实现学生选课系统 面向对象的应用:

    一.要求: 选课系统 管理员: 创建老师:姓名.性别.年龄.资产 创建课程:课程名称.上课时间.课时费.关联老师 使用pickle保存在文件 学生: 学生:用户名.密码.性别.年龄.选课列表[].上课 ...

  2. [ python ] 作业:选课系统

    功能代码实现源地址:https://www.cnblogs.com/lianzhilei/p/5832691.html    如有侵权,立即删除 本文主要是分析 选课系统 实现思路及上面代码的实现过程 ...

  3. Python 面向对象 组合-多态与多态性-封装-property

    面向对象-组合 1.什么是组合 组合指的是某一个对象拥有一个属性,该属性的值是另外一个类的对象 class Foo: xxx = 111 class Bar: yyy = 222 obj = Foo( ...

  4. python day 12: 选课系统

    目录 python day 12 1. 通过类来创建选课系统 1.1 类库models.py 2. 配置文件setting.py 3. administrator.py 4. student.py p ...

  5. Python 简易版选课系统

    一.创建学生类 # # 创建学生类 import random class Student: def __init__(self,num,name,address,course_lst=None): ...

  6. python+requests模拟登陆 学校选课系统

    最近学校让我们选课,每天都有不同的课需要选....然后突发奇想试试用python爬学校选课系统的课程信息 先把自己的浏览器缓存清空,然后在登陆界面按f12 如图: 可以看到登陆时候是需要验证码的,验证 ...

  7. 【原创】面向对象作业:选课系统中用pickle储存多个对象间组合引用关系的那些坑

    转载请注明出处:https://www.cnblogs.com/oceanicstar/p/9030121.html 想直接看结论先提前列出: 1.存储一个对象,文件不是真的给你存储的了对象这种东西, ...

  8. Python开发基础-Day19继承组合应用、对象序列化和反序列化,选课系统综合示例

    继承+组合应用示例 class Date: #定义时间类,包含姓名.年.月.日,用于返回生日 def __init__(self,name,year,mon,day): self.name = nam ...

  9. python 面向对象 class 老男孩选课系统

    要求:1. 创建北京.上海 2 所学校 class2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. 课程包含,周期,价格,通过学校创建课 ...

随机推荐

  1. springMVC简单的一些操作

    SpringMVC的模型-视图-控制器(MVC)框架是围绕一个DispatcherServlet来设计的,这个Servlet会把请求分发给各个处理器进行处理,由DispatcherServlet来统一 ...

  2. Python定时任务

    在项目中,我们可能遇到有定时任务的需求.其一:定时执行任务.例如每天早上 8 点定时推送早报.其二:每隔一个时间段就执行任务.比如:每隔一个小时提醒自己起来走动走动,避免长时间坐着.今天,我跟大家分享 ...

  3. timeCache.go

    package blog4go import ( "sync" "time" ) const ( // PrefixTimeFormat  时间格式前缀 Pre ...

  4. 在MFC中对Excel的一些操作

    首先要在程序中加载CExcel.h和CExcel.cpp文件,这里面包装了很多函数和对Excel文件的操作,下面所有程序中的m_excel都是类CExcel的对象,如: private: _Appli ...

  5. BZOJ_4238_电压_树上差分+dfs树

    BZOJ_4238_电压_树上差分+dfs树 Description 你知道Just Odd Inventions社吗?这个公司的业务是“只不过是奇妙的发明(Just Odd Inventions)” ...

  6. B20J_1419_Red Is Good_期望DP

    B20J_1419_red is good_期望DP 题意:有R张红牌和B张黑牌,一张一张地翻牌,翻到红牌得到1美元,黑牌则付出1美元.可以随时停止翻牌,在最优策略下平均能得到多少钱. 分析:期望DP ...

  7. BZOJ_1015_[JSOI2008]星球大战_并查集

    BZOJ_1015_[JSOI2008]星球大战_并查集 题意:很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系.某一天,凭着一个偶然的 机遇,一支反抗军摧毁了帝国的超级武器, ...

  8. BZOJ_1014_[JSOI2008]火星人prefix_splay+hash

    BZOJ_1014_[JSOI2008]火星人prefix_splay+hash 题意:火星人最近研究了一种操作:求一个字串两个后缀的公共前缀.比方说,有这样一个字符串:madamimadam, 我们 ...

  9. Vue 进阶之路(六)

    上篇文章我们分析了一下 vue 中的条件渲染,本篇我们说一下 vue 中的列表渲染和 set 方法. <!DOCTYPE html> <html lang="en" ...

  10. GC参考手册 —— GC 调优(命令篇)

    运用jvm自带的命令可以方便的在生产监控和打印堆栈的日志信息帮忙我们来定位问题!虽然jvm调优成熟的工具已经有很多:jconsole.大名鼎鼎的VisualVM,IBM的Memory Analyzer ...