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)]