【发布时间】:2018-07-06 00:01:01
【问题描述】:
所以我有一个程序可以在 2048 年产生数字。现在产生 2 或 4 的机会是 50/50。
nlist = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
def spawnnum():
x = []
for i in range(0, 16):
if nlist[i] == 0:
x.append(nlist[i])
y = random.randint(1, len(x))
count = 0
for j in range(len(nlist)):
if nlist[j] == 0:
count += 1
if count == y:
nlist[j] = 2 * random.randint(1, 2)
break
有没有一种方法可以让程序产生 4 的机会是 10% 的时间,而 2 的机会是 90% 的时间。顺便说一句,这个程序实际产生数字的地方是nlist[j] = 2 * random.randint(1, 2)(倒数第二行)。
【问题讨论】:
标签: python random probability