result=[] for a in range(3): for b in range(3): result.append((a,b)) print(result)
Satir satir anlatmak gerekirse:
Bos bir liste olusturuyoruz.
Bir dongu tanimliyoruz. Bu dongu 0 dan baslayip 3 e kadar (3 dahil degil) a degiskenine tamsayi degerler atayacak.
Yine bir dongu tanimliyoruz. Bu dongu de 0 dan baslayip 3 e kadar (3 dahil degil) b degiskenine tamsayi degerler atayacak.
result adli listeye eleman ekliyoruz. Her dongude bu deger degisecek.
listeyi ekrana bastiriyoruz.
Ic ice dongude mantik su. En distaki donguden en icteki donguye dogru gidersin. Ve yine ayni sekilde en icteki donguden en distaki donguye dogru cikarsin. En icteki dongunun isi bitmeden ustteki donguye cikilmaz. Bu cikis islemi ya dongude donulecek deger kalmamistir (3. satir icin konusursak b nin 3 oldugu anda artik dongu calismaz ve bir ust donguye geri donersin. En son b icin yazdirdigin deger 2 olarak kalir) Veya ozel islemlerle (break, goto gibi) donguden cikmak mumkundur. Bu yuzden ilk basilan degerler sirasiyla (0, 0), (0, 1), (0, 2) olacaktir. (0,2) degeri basildiktan sonra icteki dongu biter, ve ust donguye geri donulur. Ustteki donguye donuldugunde artik a nin degeri 0 degil 1 olmustur. Fakat tekrar icteki donguye girildiginde b nin degeri yine 0 dan baslayacaktir. Bu yuzden (0, 0), (0, 1), (0, 2) den sonra ekrana basilan deger (1,0) olur.
Umarim daha net olmustur simdi.
< Bu mesaj bu kişi tarafından değiştirildi mosahin -- 29 Ekim 2020; 20:8:55 >
öncelikle cevabın için teşekkürler benim anladığım kadarıyla 2. döngü(yani 3. satır) b degişkeni 2 olmadan üsteki döngü çalışmaz bu yüzden 2. döngü çalışmayı durdurana kadar ilk döngü sürekli 0 değerini basacak taki 2. döngü b degişkeni 2 basıp döngü durunca ilk döngü bir değerini basıp 2. döngü ise aynı şekilde devam edecek sanırım doğru anladım
öncelikle cevabın için teşekkürler benim anladığım kadarıyla 2. döngü(yani 3. satır) b degişkeni 2 olmadan üsteki döngü çalışmaz bu yüzden 2. döngü çalışmayı durdurana kadar ilk döngü sürekli 0 değerini basacak taki 2. döngü b degişkeni 2 basıp döngü durunca ilk döngü bir değerini basıp 2. döngü ise aynı şekilde devam edecek sanırım doğru anladım
Evet tamamen soyledigin sekilde. Kodu ayiklarsan(debug edersen) degiskenlere hangi degerler atandigini ve dongunun nasil dondugunu daha rahat takip edebilirsin.
Bu kod nasıl çalışıyor mümkün olduğunca açıklayıcı anlatırsanız memnun olurum.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.