# 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. 文件上传--基于Spring MVC框架+SmartUpload

    这篇文章是介绍文件上传的,由于在spring MVC上实现起来和直接在servlet中写有些不同,所以特地写了一下这篇文章,关于不同点,大家可以先阅读一下上一篇文章.好了,下面直接上代码. jab包是 ...

  2. 玩转web之ligerui(二)---前缀编码生成树(分级码)实现树型表格

    请珍惜小编劳动成果,该文章为小编原创,转载请注明出处. 背景:             在ligerui中(其他uI可能也大同小异),实现树形表格可以通过父子节点,也可以通过前缀编码生成树去实现,而使 ...

  3. (一)JUnit简介

    单元测试是测试应用程序的功能是否能够按需要正常进行,是一个对单一实体(类或方法)的测试. JUnit是一个Java编程语言的单元测试框架. 单元测试框架是一部分代码,可以确保另一端代码(方法)按预期工 ...

  4. Smokeping

    Smokeping允许你监测多台服务器. Smokeping使用RRDtool来存储数据,另外,其可基于RRDtool输出生成相应的统计图表. Smokeping由两个部分组成.一个运行在后台.定期收 ...

  5. Python Django 1.Hello Django

    #安装Djangopip install Django #==版本号#选择路径:D:#任意文件夹名 cd Django #罗列Django所提供的命令,其中startproject命令来创建项目 dj ...

  6. 【游戏开发】在Lua中实现面向对象特性——模拟类、继承、多态

    一.简介 Lua是一门非常强大.非常灵活的脚本语言,自它从发明以来,无数的游戏使用了Lua作为开发语言.但是作为一款脚本语言,Lua也有着自己的不足,那就是它本身并没有提供面向对象的特性,而游戏开发是 ...

  7. log4j java项目中的配置

    第一步你需要 相关的jar包 第二歩你需要一个关于log4j的配置文件 第三歩 你需要一个检测用的java 文件 导入这两个jar包进你的项目中 commons-logging.jar log4j-1 ...

  8. ie兼容问题记录

    工作中遇到的ie网站兼容性问题  头疼.......... 以下为从网上搜索学习的整理兼容性方法 用于自己记录 #兼容问题 ##css hack: https://blog.csdn.net/fres ...

  9. .NETCore+EF+MySql+Autofac简单三层架构

    前言 其实就是一个简单依赖注入的三层架构.记录一下,大佬们就不用看下去了.重点在最后面,可以直接拖到底去看. 正文 1.贴代码 1.整体的一个结构.大佬们应该一眼就看明白了. 2.MySqlConte ...

  10. Promise, Generator, async/await的渐进理解

    作为前端开发者的伙伴们,肯定对Promise,Generator,async/await非常熟悉不过了.Promise绝对是烂记于心,而async/await却让使大伙们感觉到爽(原来异步可以这么简单 ...