Belirli aralıktaki bir sayıyı bir listeye ekleme

import random

listeler=[[],[],[],[],[],[],[],[],[]]

while True:
    x=0
    i=str(random.randint(100,999))
    for t in i:
        listeler[int(t)-1].append(int(i))
        break
    for i in range (len(listeler)):
        if len (listeler[i])==10:
            x==10
            break
    else:
        continue
    
    break
    
    
print(listeler)
    

Bu kodda random alınan 10 sayıyı 100,199 arasındaysa listenin 1. elemanına 200-299 arasındaysa 2. 300-399 arasındaysa 3. elemanına şeklinde atanıyor listelerden bir tanesi 10 olunca program bitiyor ben ise t ile yazılı olan kodu anlamadım ve başka çözüm yolu var mıdır?

import random

listeler = [[],[],[],[],[],[],[],[],[]]

# Liste uzunluklarının maksimum değerinin 10'dan küçük olduğu sürece devam eden bir while döngüsü oluşturuyoruz.
while max(len(liste) for liste in listeler) < 10:
    # Rastgele bir sayı oluşturuyoruz.
    sayi = random.randint(100, 999)

    # Her bir n sayısı için 100 * n <= sayi < 100 * (n + 1) durumunun ekleneceği bir liste oluşturuyoruz.
    # Bu listedeki 9 elemandan yalnızca birisi True olacak, diğerleri ise False olacak.
    durumlar = list(100 * n <= sayi < 100 * (n + 1) for n in range(1, 10))

    # durumlar içerisinde True değerine sahip olan indeks numarasını bulalım.
    indeks = durumlar.index(True)

    # Artık append işlemini gerçekleştirebiliriz.
    listeler[indeks].append(sayi)

for liste in listeler:
    print(liste)

Örnek Çıktı:

[122, 120, 162, 184, 130, 103, 128, 198, 110, 104]
[238, 241, 285]
[304, 340, 325, 315, 390, 340, 394]
[483, 416, 449, 456, 441, 428, 478]
[543, 539, 541, 598, 531, 544, 557, 560]
[663, 641, 651, 625, 635]
[726, 700, 734, 757, 752, 718]
[857, 808, 849, 833, 889, 851, 822, 861]
[906, 928, 989, 942]
2 Beğeni