我有這樣的代碼這個python代碼是做我想做的事情嗎?
import random
b = 20
x = random.randrange(0,b)
y = random.randrange(0,b)
ab = 0
xc = 0
while ab != 10:
if x != y:
x = random.randrange(0,b)
y = random.randrange(0,b)
xc = xc + 1
elif x == y:
print ab
print 'number of tries out of', b, ' : ', xc
ab = ab + 1
xc = 0
y = 999999
它本質上是一個統計程序。我想從10次嘗試中看出爲了匹配需要生成一個隨機數的次數。到目前爲止,我運行這個程序後得到的數字是:我得到了這些值,我跑了5次程序,總共有50次嘗試。
9
26
6
1
5
109
5
42
12
63
所有這些低的數字使我想知道如果我的計劃是隻非常幸運的,或者如果事情是錯我的代碼。謝謝!
注意:有沒有一種方法可以讓XC在每個while循環之後加起來,while循環對於顯示總數是否爲true?
爲什麼不運行它一千次?數字越大,數據越好,而20就計算機的能力而言,數字非常小。 –
有些東西可能會使你的值向上扭曲,事實上,在匹配之後,你通過設置y = 9999自動強制x!= y,這意味着xc在第一次增加時不會爲x和y選擇隨機值它至少應該*可能*在一行中選擇兩個匹配並報告xc值爲0)。另外,爲什麼你每次都通過循環「導入隨機」(我懷疑這對你的程序行爲有什麼影響,但看起來很奇怪)? – Peter