Python實現簡易版選課系統

Python探索牛發表於2024-05-14

需求:

在這裡插入圖片描述

一、建立學生類

# 建立學生類
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  打野  

相關文章