我有以下代码,可以随机给员工分配数字:
emp_numbers = {}
employees = ['empA', 'empB', 'empC', 'empD', 'empE', 'empF']
numbers = 26
for x in employees:
emp_numbers[x] = []
emp = list(emp_numbers.keys())
for number in range(1, numbers+1):
emp_name = choice(emp);
emp_numbers[emp_name].append(number)
print (emp_numbers)
输出:
^{pr2}$效果很好。然而,我不知道如何让它尽可能均匀地分配数字。有些员工有2个号码,有些有8个号码。有什么建议吗?在
谢谢!在
由于您希望分配所有编号,因此可以随机化编号顺序,而不是员工:
然后,您可以使用切片来获得每个员工的偶数计数:
^{pr2}$[start::n]
语法选择从start
开始的第n
项。第一个员工得到项目0,6,12,…,第二个员工得到项目1,7,13,…,依此类推。在假设人数与雇员人数相等,你可以这样做:
输出,例如
^{pr2}$如果这些数字不能平均整除,有些人会得到比其他人更多的数字。在
相关问题 更多 >
编程相关推荐