このコードを実行すると、3文字の可能なすべての組み合わせが得られません。
def comb(iterable, r):
pool = tuple(iterable)
n = len(pool)
for indices in permutations(range(n), r):
if sorted(indices) == list(indices):
yield tuple(pool[i] for i in indices)
def start():
for x in comb("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ12234567890!@#$%^&*?,()-=+[]/;",3):
print x
代わりに、いくつかをスキップします。キャラクターを3回繰り返すと、必要な組み合わせはすべて手に入りましたが、何度か手に入れました。これには3倍の時間がかかり、私が望んでいることではありません。何百万もの組み合わせを計算するので、文字を繰り返す代わりの方法を知る必要があります。