<p>我试图得到一个随机数发生器,它将有偏见,因为它采取一个数字,并打印一个可能接近。我现在的情况是:</p>
<pre><code>def biasedRandom(rangen, rangex, target, biaslevel=1):
if rangen > rangex:
raise ValueError("Min value is less than max value.")
return
if not target in range(rangen, rangex):
raise ValueError("Bias target not inside range of random.")
return
num = random.randint(rangen, rangex)
for i in range(biaslevel):
distance = abs(num - target)
num -= random.randint(0, distance)
return num
</code></pre>
<p>这是很好的工作,但有时它给出了完全离谱的数字;例如,它曾经给出<code>-246174068358</code>作为<code>(1,100,30,60)</code>。我觉得里面有个虫子我没看到。在</p>
<p>提前谢谢。在</p>