需求:
一、建立學生類
# 建立學生類
import random
class Student:
def __init__(self,num,name,address,course_lst=None):
self.num=num
self.name=name
self.address=address
if course_lst:
self.cous_lst=cous_lst
else:
self.cous_lst=[]
def look(self): #檢視學生所有的課程資訊
print("%s學生的選課資訊:"%self.name)#輸出資訊提示
for el in self.cous_lst:
print(el.name,end=" ")
print()
def adds(self,s):#學生新增課程
self.cous_lst.append(s)
二、建立課程類
# 建立課程類
class Course:
def __init__(self,num,name,teacher=None):
self.num = num
self.name = name
self.teacher=teacher
def look(self):#檢視課程資訊
return "課程編號: %s ,課程名稱: %s ,課程老師: %s " %(self.num,self.name,self.teacher)
def sett(self,t):#給課程新增老師
self.teacher=t
三、建立教師類
# 建立教師類
class Teacher:
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]不重複的數字
#學習中遇到問題沒人解答?小編建立了一個Python學習交流群:153708845
import random
def rand():
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 in lst:
r=rand()
for el2 in r:#[1,3,5]
el.adds(c_lst[el2])
十、顯示學生的選課資訊
for el in lst:
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 打野