我想在以下条件下每周每天将 8 个任务列表中的任务随机分配给 4 个人:
- 每个人每天正好有 2 个任务(顺序无关紧要)和
- 不能连续 2 天以上将任务分配给同一个人(一个人第二天不能获得相同的任务)并且
- 不能在同一天向人们分配相同的任务并且
- 一个人一周内不能做超过 2 次相同的任务
这是我一天的代码。但是如何为一周中的 7 天编写代码,强制执行上述条件?
import random
tasks = ['task1','task2','task3','task4','task5','task6','task7','task8',]
people = ['person1', 'person2', 'person3', 'person4']
random.shuffle(tasks)
tasks = zip(*[iter(tasks)]*2)
for n,person in enumerate(people):
print person, tasks[n]