Selamlar sevgili üstatlar, şu aşağıdaki iki döngünün sonuçlarını bir türlü anlayamadım.
Tek döngüde sorun yok, ama iç içe döngü olduğunda yok abi anlamıyorum :S (En azından bu örnek için)
Örnek 1 ;
dizi = []
for i in range(5):
for j in range(i):
dizi.append((i, j))
print(dizi)
Sonuç ;
[(1, 0), (2, 0), (2, 1), (3, 0), (3, 1), (3, 2), (4, 0), (4, 1), (4, 2), (4, 3)]
Bir de şu kodlara ve sonuca bakalım ;
Örnek 2 ;
dizi = []
for i in range(5):
for j in range(5):
dizi.append((i, j))
print(dizi)
Sonuç ;
[(0, 0), (0, 1), (0, 2), (0, 3), (0, 4), (1, 0), (1, 1), (1, 2), (1, 3), (1, 4), (2, 0), (2, 1), (2, 2), (2, 3), (2, 4), (3, 0), (3, 1), (3, 2), (3, 3), (3, 4), (4, 0), (4, 1), (4, 2), (4, 3), (4, 4)]
Şimdi bu 2. Örnekte mantık şu şekilde sanırım ;
- Döngüye geliyor > for i in range(5):
i 0’ değerini alıyor ve hemen altındaki döngüye geçiyor, j 4 olana kadar dönüyor yani ; 0,0 0,1 0,2, 0,3, 0,4 diye gidiyor. Sonra i 1 oluyor yine j aynı şekilde 1,0, 1,1 vs vs diye ilerliyor. 2. Örnek tamam güzel (eğer doğru anlayıp anlatabildiysem)
Ama 1. Örnek (Örnek1) neden böyle bir sonuç veriyor? Cidden hiç anlayamadım, lütfen yardım eder misiniz?
[(1, 0), (2, 0), (2, 1), (3, 0), (3, 1), (3, 2), (4, 0), (4, 1), (4, 2), (4, 3)]
Yani 2. örnekte, 0,0, 0,1 giderken bunda neden 1,0, 2,0 diye ilerliyor :S