一、创建学生类

## 创建学生类

importrandomclassStudent:def __init__(self,num,name,address,course_lst=None):

self.num=num

self.name=name

self.address=addressifcourse_lst:

self.cous_lst=cous_lstelse:

self.cous_lst=[]def look(self): #查看学生所有的课程信息

print("%s学生的选课信息:"%self.name)#输出信息提示

for el inself.cous_lst:print(el.name,end=" ")print()def adds(self,s):#学生添加课程

self.cous_lst.append(s)

二、创建课程类

#创建课程类

classCourse:def __init__(self,num,name,teacher=None):

self.num=num

self.name=name

self.teacher=teacherdef look(self):#查看课程信息

return "课程编号: %s ,课程名称: %s ,课程老师: %s" %(self.num,self.name,self.teacher)def sett(self,t):#给课程添加老师

self.teacher=t

三、创建教师类

#创建教师类

classTeacher:def __init__(self,num,name,phone):

self.num=num

self.name=name

self.phone=phone

四、创建6个老师

#创建6个老师

t1=Teacher("N01","寒冰",10086)

t2=Teacher("N02","疾风剑豪",10387)

t3=Teacher("N03","瞎子",10088)

t4=Teacher("N04","机器人",10536)

t5=Teacher("N05","德玛西亚",24550)

t6=Teacher("N06","武器",10089)

五、创建6门课程

#创建6门课程

c1=Course("KS01","上单")

c2=Course("KS02","中单")

c3=Course("KS03","下路AD")

c4=Course("KS04","辅助")

c5=Course("KS05","打野")

c6=Course("KS06","日中天")

c_lst=[c1,c2,c3,c4,c5,c6]

六、给课程安排老师

#给课程安排老师

c1.sett(t6)

c2.sett(t2)

c3.sett(t1)

c4.sett(t4)

c5.sett(t3)

c6.sett(t5)

七、定义随机数函数

#创建随机产生3个[0:5]不重复的数字

importrandomdefrand():

lst=[]while len(lst)<3:

lst.append(random.randint(0,5))

s=set(lst)

lst=list(s)return lst

八、创建30个学生

lst=[Student("N%s"%i,"学生%s号"%i,"清华路%s号"%i)for i in range(30)]

九、学生开始选课

for el inlst:

r=rand()for el2 in r:#[1,3,5]

el.adds(c_lst[el2])

十、显示学生的选课信息

for el inlst:

el.look()

结果显示

学生0号学生的选课信息:

辅助 打野 日中天

学生1号学生的选课信息:

中单 辅助 打野

学生2号学生的选课信息:

上单 下路AD 打野

学生3号学生的选课信息:

中单 下路AD 辅助

学生4号学生的选课信息:

上单 中单 下路AD

学生5号学生的选课信息:

上单 下路AD 打野

学生6号学生的选课信息:

上单 下路AD 辅助

学生7号学生的选课信息:

辅助 打野 日中天

学生8号学生的选课信息:

辅助 打野 日中天

学生9号学生的选课信息:

中单 打野 日中天

学生10号学生的选课信息:

上单 下路AD 日中天

学生11号学生的选课信息:

中单 下路AD 辅助

学生12号学生的选课信息:

中单 辅助 打野

学生13号学生的选课信息:

中单 打野 日中天

学生14号学生的选课信息:

上单 下路AD 辅助

学生15号学生的选课信息:

上单 打野 日中天

学生16号学生的选课信息:

上单 打野 日中天

学生17号学生的选课信息:

上单 下路AD 辅助

学生18号学生的选课信息:

上单 中单 日中天

学生19号学生的选课信息:

上单 辅助 日中天

学生20号学生的选课信息:

下路AD 打野 日中天

学生21号学生的选课信息:

上单 中单 打野

学生22号学生的选课信息:

上单 中单 辅助

学生23号学生的选课信息:

上单 中单 打野

学生24号学生的选课信息:

辅助 打野 日中天

学生25号学生的选课信息:

中单 下路AD 辅助

学生26号学生的选课信息:

上单 中单 日中天

学生27号学生的选课信息:

上单 中单 下路AD

学生28号学生的选课信息:

上单 中单 日中天

学生29号学生的选课信息:

中单 下路AD 打野