我遇到了脑筋急转弯问题。我试图模拟它,但无法得到答案。问题是这样的:有一个阿米巴变形虫。每一分钟,变形虫都可能死亡,保持不变,分成2或分成3等概率。它的所有后代都会以同样的方式行事,独立于其他变形虫。变形虫种群死亡的概率是多少?
我在python中的实现:
import numpy as np
def simulate(n):
prob = np.array([0.25]*4)
ans = np.random.choice(np.arange(4),1,p=prob)
if ans == 0:
n = n - 1
if ans == 1:
pass
if ans == 2:
n = n * 2
if ans == 3:
n = n*3
return n
count = 0
for i in range(10000):
nold = 1
while True:
nnew = simulate(nold)
if nnew == 0: #amoeba has died
count += 1
break;
nold = nnew
我得到一个无限循环。有人可以帮忙吗?谢谢。答案是41%
答案 0 :(得分:0)
While循环需要有某种断点。
你没有设置什么是假。
while count < 10000:
...