隨著學校的學生人數不斷增加,排課表的制作變得越來越復雜和耗時。為了簡化這個過程,我們可以使用Python編寫自動排課表程序。下面是一個簡單的示例程序:
import random days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'] times = ['9:00-10:20', '10:30-11:50', '1:00-2:20', '2:30-3:50', '4:00-5:20'] classes = ['Math', 'English', 'Science', 'History', 'PE'] # 課程名稱 rooms = ['101', '102', '103', '201', '202'] # 教室編號 teachers = ['Ms. Li', 'Mr. Wang', 'Mrs. Zhang', 'Mr. Chen', 'Ms. Liu'] # 教師名稱 schedule = {} for day in days: for time in times: schedule[(day, time)] = {} for c in classes: for t in teachers: for day in days: for time in times: room = random.choice(rooms) schedule[(day, time)][c] = {'room': room, 'teacher': t} rooms.remove(room) rooms = ['101', '102', '103', '201', '202'] # 重新初始化教室編號列表 print(schedule)
在這個程序中,我們首先定義了上課的日期、時間、課程、教室和教師等變量。然后,我們使用嵌套的循環來遍歷每個日期和時間,并為每個日期和時間指定一個課程、教室和教師。
這個程序使用了Python中的字典(dictionary)數據結構來存儲課程、教室和教師之間的關系。字典是一種鍵值對的數據結構,可以通過鍵來訪問值。在這個程序中,我們將日期和時間作為鍵,將課程、教室和教師的信息作為值存儲在字典中。
最后,我們輸出整個排課表,以便查看結果。
使用Python自動排課表可以大大簡化排課的過程,并確保排課準確無誤。如果您也需要排課,可以參考這個程序,并根據實際情況進行改進和優化。
上一篇vue后臺開發視頻