创建随机作业分配器时遇到问题

时间:2019-07-13 02:52:11

标签: python loops dictionary variable-assignment

我正在尝试使用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'}

1 个答案:

答案 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'}