【发布时间】:2016-08-08 23:27:08
【问题描述】:
我正在尝试创建一个随机选择 0 到 2 之间的 30 个整数元素的数组。当某个数字被选择 10 次时,我不能再附加它了。最后,我需要一个包含 30 个元素的数组,其中包含 10 个数字 0、10 个数字 1 和 10 个数字 2。这就是我正在尝试的:
import random
array_size = 30
number = 3
counter = [0, 0, 0]
solution = []
for i in range(array_size):
number = random.randrange(number) #generates numbers between 0 and 2
while counter[number] > 10:
number = random.randrange(number)
counter[number] += 1
solution.append(number)
结果,我有超过 10 个相同数量的元素。我相信问题出在我放在while中的随机数没有改变,即使我在循环内改变它。有人知道怎么做吗?
谢谢
【问题讨论】:
-
random.shuffle([0]*10 + [1]*10 + [2]*10)