-5

ここには、4 桁の文字列を返す関数があります。問題は、関数を 500 回以上実行すると、重複が返されるようになることです。それを避ける方法は?

私の機能:

import random
def CreatePass():
    Num = str(random.randint(1000, 9999)
    return Num
4

4 に答える 4

2

9000個の数字を保存してシャッフルするだけでよいので、@Martijnのソリューションで十分です。より大きな範囲の数値が必要で、必要な数値が (およそ) わかっている場合は、より良い方法があります。この関数random.sampleは、目的の範囲のwithout繰り返しで数値を返します。たとえば、500 個の異なる 6 桁の数字を取得するには、次のようにします。

selected = random.sample(xrange(100000, 1000000), 500)
于 2013-06-21T21:20:21.347 に答える