私はそれは、本質的に統計プログラムです。このコードこの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
それらの低い数字のすべてが私のプログラムは非常に幸運か何かが私のコードが間違っている場合だけであるならば不思議に私をリードしてきました。ありがとう!
注:whileループとwhileループの合計が表示されているときにXCを追加する方法がありますか?
何千回も走らないのはなぜですか?数値が大きいほど統計量は高くなりますが、20はあなたのコンピュータが行うことができる数値では非常に小さい数値です。 –
おそらくあなたの値を上に歪ませているのは、一致後、自動的にy = 9999を設定することによってx!= yを強制するということです.xとyのランダム値を選択しなくてもxcが最初にインクリメントされます1つの行に2つのマッチを選び、xcの値が0であることを少なくとも*可能にする必要があります)。また、ループのたびに「ランダムにインポートする」のはなぜですか(これはあなたのプログラムの動作に何らかの影響を与えているのではないでしょうか? – Peter