Python_组合
组合:类和类之间有关联,假设定义一个人的类,人的头,手,脚,嘴等数据属性,这几个属性又可以是各自的类或类实例化的对象,这就是组合
#选课系统 class School: def __init__(self,name,addr): self.name = name self.addr = addr class Teacher: def __init__(self,name,course,school): self.name = name self.course = course self.school =school class Course: def __init__(self,name,price,period,school): self.name = name self.price = price self.period = period self.school = school school_1 = School("清华大学","北京朝阳街") school_2 = School("华南理工大学","广州天河区") school_3 = School("中山大学","广州海珠区") school_msg = """ 1 %s %s 2 %s %s 3 %s %s """ %(school_1.name,school_1.addr,school_2.name,school_2.addr,school_3.name,school_3.addr) course_msg =""" 1 计算机 2 自然与科学 3 商务英语 4 经济与营销 """ import re stat = True while stat: print(school_msg) school_menu = { '1':school_1, '2':school_2, '3':school_3 } school_choice = input("请选择学校:") #用正则验证客户是否按要求输入 a = r"\d" res = re.match(a,school_choice) if not res: print("......请输入正确的数字选项.......") continue if 0 < int(school_choice) < 4: print(school_menu[school_choice].name, school_menu[school_choice].name) else: print("--------------------请输入正确的数字选项--------------------") continue print(course_msg) course_menu = { '1': "计算机", '2': "自然与科学", '3': "商务英语", '4': "经济与营销" } course_price = { '1': 800, '2': 899, '3': 900, '4': 996 } course_perdiod = { '1': 60, '2': 90, '3': 120, '4': 365 } while stat: course_choice = input("请选择课程名:") # 用正则验证客户是否按要求输入 a = r"\d" res = re.match(a, course_choice) if not res: print("......请输入正确的数字选项.......") continue if 0 < int(school_choice) < 4: my_choice = Course(course_menu[course_choice],course_price[course_choice], course_perdiod[course_choice],school_menu[school_choice]) else: print("--------------------请输入正确的数字选项--------------------") continue print() print("恭喜您! 您已经报读了 %s学校的 %s课程,学费是%s元,学习周期是%s天" %(my_choice.school.name,my_choice.name,my_choice.price,my_choice.period)) stat = False break