ここには、4 桁の文字列を返す関数があります。問題は、関数を 500 回以上実行すると、重複が返されるようになることです。それを避ける方法は?
私の機能:
import random
def CreatePass():
Num = str(random.randint(1000, 9999)
return Num
9000個の数字を保存してシャッフルするだけでよいので、@Martijnのソリューションで十分です。より大きな範囲の数値が必要で、必要な数値が (およそ) わかっている場合は、より良い方法があります。この関数random.sample
は、目的の範囲のwithout
繰り返しで数値を返します。たとえば、500 個の異なる 6 桁の数字を取得するには、次のようにします。
selected = random.sample(xrange(100000, 1000000), 500)