思路来源

最近整理值班排班,比较糟心,所以写了个小程序用于自动排班

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#每次两人

运行效果图如下:

python 排班表 python写排班系统_python 排班表