我正在尝试使用Python创建一个随机作业分配器。我想为随机作业分配一个随机的名称列表。我也不希望任何人有与其他人相同的工作。我在此脚本上取得了一些进展,但是遇到了一个问题,其中一项工作和人员清单被切断。下面是我的代码和输出。感谢所有帮助和建议,谢谢!
import random
jobs = ['scrub', 'wash', 'collect']
people = ['Tim', 'Ryan', 'Jon']
job_assignments = {}
def jobs_Create():
for person in ppl:
for job in jobs:
selected_job = random.choice(jobs)
job_assignments[person] = selected_job
jobs.remove(selected_job)
return job_assignments
这是我运行函数时的输出: {'Tim':'scrub','Ryan':'collect'}
答案 0 :(得分:1)
您可以使用random.choice()
(doc)代替random.sample()
:
import random
jobs = ['scrub', 'wash', 'collect']
people = ['Tim', 'Ryan', 'Jon']
job_assignments = dict(zip(people, random.sample(jobs, len(jobs))))
from pprint import pprint
pprint(job_assignments, width=30)
打印(例如):
{'Jon': 'wash',
'Ryan': 'collect',
'Tim': 'scrub'}