<p>我有这样一个代码,它基本上是抛硬币,当它击中正面(1)时,它会再次抛硬币,直到它继续抛正面的概率低于0.1%,或者当它击中反面时,它会再次开始</p>
<pre class="lang-py prettyprint-override"><code>import numpy
def checkAgain(probability):
if(probability >= 0.1):
runCode()
def flipCoin(successes):
rand = numpy.random.randint(2)
if (rand == 1):
# true
successes += 1
flipCoin(successes)
else:
probability = 50
for i in range(successes):
probability /= 2
print(str(successes) + " " + str(probability) + "%")
checkAgain(probability)
def runCode():
successes = 0
flipCoin(successes)
runCode()
</code></pre>
<p>但代码只是有时有效<code>Most of the time I get this error: maximum recursion depth exceeded in comparison</code>我在网上读到这可以防止“堆栈溢出”,但我不知道如何使代码运行,直到概率低于0.1</p>