题目:一个公司年终庆典,需要将职员分成三组,现在有8位职员等待小组分配,编写程序实现职员的随机分配。
实现思路:遍历每一个职工,让他们自己随机选择分配到哪一个小组。当然,有特殊情况需要剔除,如果随机分配的结果,有一个或两个组是没有职工选择的,就不是我们想要得到的结果了。我们可以用循环来重复分配,直到条件是我们想要的才退出循环。
代码如下:
from random import * # 引入随机库
employeeList = ['职员1', '职员2', '职员3', '职员4', '职员5', '职员6', '职员7', '职员8'] # 需要分配的职工名单列表
group = [[], [], []] # 定义三个列表存放分配信息
while True: # 因为有可能有的组没有分配到一个人,所以要使用循环来达成每一个组都有分配的人
for i in employeeList:
index = randint(0, 2)
group[index].append(i)
if len(group[0]) > 0 and len(group[1]) > 0 and len(group[2]) > 0:
break
else:
for i in group: # 这里需要把列表清空
i.clear()
print("第一组:{}\n第二组:{}\n第三组:{}".format(group[0], group[1], group[2]))
最后
本人水平有限,欢迎各位大佬的批评指正。