Tekrarlı Permütasyon

Arkadaşlar random şifre oluşturan bir kodum var . Permütasyonda 10. sınıflar bilir tekrarlı permütasyon diye bir olay var . Bu da onla alakalı . Şimdi arkadaşlar : mesela min 2 haneli max 3 haneli şifre istiyorum . Yazılım başlıyor sıralamaya : 20 , 21 ,23 …
herhangi bir sayıyı tekrar etmeden devam ediyor yani : 11 , 33 , 133 , gibi şifreler oluşmuyor . Bunu nasıl aşabilirim ?

Şöyle aşabilirsiniz:

print([i for i in __import__("itertools").product(range(4), repeat=2)])

Çıktı:

[(0, 0), (0, 1), (0, 2), (0, 3), (1, 0), (1, 1), (1, 2), (1, 3), (2, 0), (2, 1), (2, 2), (2, 3), (3, 0), (3, 1), (3, 2), (3, 3)]

repeat parametresini 3 yaparsanız şöyle bir çıktı alırsınız:

[(0, 0, 0), (0, 0, 1), (0, 0, 2), (0, 0, 3), (0, 1, 0), (0, 1, 1), (0, 1, 2), (0, 1, 3), (0, 2, 0), (0, 2, 1), (0, 2, 2), (0, 2, 3), (0, 3, 0), (0, 3, 1), (0, 3, 2), (0, 3, 3), (1, 0, 0), (1, 0, 1), (1, 0, 2), (1, 0, 3), (1, 1, 0), (1, 1, 1), (1, 1, 2), (1, 1, 3), (1, 2, 0), (1, 2, 1), (1, 2, 2), (1, 2, 3), (1, 3, 0), (1, 3, 1), (1, 3, 2), (1, 3, 3), (2, 0, 0), (2, 0, 1), (2, 0, 2), (2, 0, 3), (2, 1, 0), (2, 1, 1), (2, 1, 2), (2, 1, 3), (2, 2, 0), (2, 2, 1), (2, 2, 2), (2, 2, 3), (2, 3, 0), (2, 3, 1), (2, 3, 2), (2, 3, 3), (3, 0, 0), (3, 0, 1), (3, 0, 2), (3, 0, 3), (3, 1, 0), (3, 1, 1), (3, 1, 2), (3, 1, 3), (3, 2, 0), (3, 2, 1), (3, 2, 2), (3, 2, 3), (3, 3, 0), (3, 3, 1), (3, 3, 2), (3, 3, 3)]

Dikkat ederseniz 10 sayısından 999 sayısına kadar olan sayılar istediğiniz sonucu veriyor.

 listem = [i for i in range(10,1000)]