day26作业

#作业一:自己试验一下菱形问题下的属性查找顺序
# class A(object):
# def test(self):
# print('from A')
#
# class B(A):
# def test(self):
# print('from B')
#
# class C(A):
# def test(self):
# print('from C')
#
# class D(B,C):
# pass
#
# obj = D()
# obj.test()
# print(D.mro())
'''





选课系统项目中涉及到诸多数据与功能,要求引入面向对象的思想对其进行高度整合
# 1、学校数据与功能整合
# 2、课程数据与功能进行整合
# 3、学生数据与功能进行整合
# 4、讲师数据与功能进行整合
# 5、班级数据与功能进行整合
ps:不会写的同学,可以先用普通的方式,先把数据与功能都给写好,再考虑基于面向对象的思想进行整合

数据部分:
校区的名字:如"老男孩上海校区"
校区的地址:如"上海虹桥"


# 班级名字
# 班级所在校区

学生的学校
学生的姓名
学生的年龄
学号
学生的性别

课程名字
课程周期
课程价格

老师的名字
老师的年龄
老师的薪资
老师的等级




'''
class School:
def __init__(self, name, adress):
self.name = name
self.adress = adress

def school_info(self):
print("校区的名字:{} 校区的地址:{}".format(self.name, self.adress))

def create_class(self, class_name):
print('在 {} 创建班级 {} 成功'.format(self.name ,class_name))
class_news = Classes(self, class_name)
return class_news


class Classes:
def __init__(self, school, name):
self.name = name
self.school = school

def class_info(self):
print("班级名字:{} 班级所在的校区名字:{}".format(self.name, self.school.name))

def create_course(self, name, cycle, price):
print('为 {} 创建 {} 课程成功!'.format(self.name, name))
course_news = Course(self, name, cycle, price)
return course_news


class Course:
def __init__(self, course_class, name, cycle, price):
self.name = name
self.cycle = cycle
self.price = price

def show_info(self):
print("课程名字:{} 课程周期:{} 课程价格:{}".format(self.name, self.cycle, self.price))



class Student:
def __init__(self, student_name, student_age, student_ID, student_sex):
self.name = student_name
self.age = student_age
self.ID = student_ID
self.sex = student_sex

def choice_class(self, student_class):
self.student_class = student_class
print("学生 {} 选择班级 {} 成功!".format(self.name, student_class))

def student_info(self):
print('学生的学校:{} 学生的姓名:{} 学生的年龄:{} 学号:{} 学生的性别:{}'.format(self.name, self.name, self.age, self.ID, self.sex))


class Teacher:
def __init__(self, name, age, salary, level):
self.name = name
self.age = age
self.salary = salary
self.level = level

def show_info(self):
print("教师的姓名:{} 教师的年龄:{} 教师的薪资:{} 教师的等级:{}".format(self.name, self.age, self.salary, self.level))

def score(self):
stu_name = input('请输入学生姓名:').strip()
score = input('该学生的分数为:').strip()
print('{} 同学的分数为:{}'.format(stu_name, score))

school = School('老男孩上海校区','上海虹桥')
school.school_info()
cl_name = input('请输入班级名:').strip()
python15 = school.create_class(cl_name)
course_name = input('请输入课程名:').strip()
course_time = input('请输入课程时间:').strip()
course_price = input('请输入课程价格:').strip()
python = python15.create_course(course_name, course_time, course_price)
python.show_info()
原文地址:https://www.cnblogs.com/hansblogs/p/13448692.html