思路来源
最近整理值班排班,比较糟心,所以写了个小程序用于自动排班
import numpy as np
import datetime
name=np.array(['a','b','c','d','e','f'])#这里偶数个,所以取的2人一个班次,这样3次一轮
week_list = ["星期一","星期二","星期三","星期四","星期五","星期六","星期日"]
start=datetime.date.today()
for i in range(0,10):
#这里也可以使用Python自带的shuffle函数去打乱原数据
name_sample=np.random.permutation(name.size)#随机生成人员编号
print("_______________________________________")
i=0
while i<name.size:
print(start,week_list[start.weekday()],name[name_sample[i]],name[name_sample[i+1]])#人员,可以一次多个,这里以两个为例子
start+=datetime.timedelta(1)
i+=2#每次两人
运行效果图如下: