©異なる数字が必要です。範囲(10)の小さな数字を書いていますが問題はありませんが、大きな数字を書くとうまくいきません。単純なLOTTERYアルゴリズムon PYTHON
import random
arr=[]
for i in range(25):
a=random.randint(1,30)
if a in arr:
b=random.randint(1,30)
arr.append(b)
if a not in arr:
arr.append(a)
arr.sort()
print(arr[0:])
あなたはそれが永遠に取る意味ですか?予期せぬことを繰り返すことはありません。どのような大きな価値を試しましたか? –
あなたは乱数を生成し、その中に入っているかどうかを確認し、次に新しい乱数を生成しようとします。これはランダムな時間曲線を持つことを意味します。 ** MAYBE **あなたがロトを勝ち取った場合、あなたは配列にまだない乱数を生成しますが、あなたが配列をいっぱいにすると、その確率は下がります。なぜあなたは '1 - > n '個の数字で配列を塗りつぶし、それをシャッフルしてから、必要な数だけ多くの数値を浮かせますか? –