‫Tekrar hoş geldiniz.
‫Şimdiye kadar, döngü ile dört tane kullanabileceğimizi öğrendik.
‫Ama aslında döngü için başka bir yol daha var.
‫Ve bir for döngüsü yerine bir while döngüsü çağrılır.
‫While döngüsü ise bir koşul gerçekleşirken dediğimiz için biraz daha farklıdır.
‫Bir şeyler yap.
‫Yani burada biraz fark olduğunu görebilirsiniz.
‫Örneğin, sıfır 50'den küçükken bir şey yap diyebilirim ya da örneğin sıfıra eşittir
‫diyebilirim.
‫Ve %50'den daha az olsa da söyleyeceğim.
‫Şimdi, eğer bu programı çalıştırırsam, sizce ne olur?
‫Hadi öğrenelim.
‫Çalıştır'a tıklarsam.
‫Tamam.
‫Şunu görüyor musun?
‫Bilmem anlatabildim mi ama şu anda tüm bunları gözden geçiriyorum.
‫Dönüyor, dönüyor, dönüyor, dönüyor, dönüyor.
‫Ve aslına bakarsanız programın hala çalıştığını görüyorsunuz.
‫Durdurmak zorundayım, çünkü yaptığı şey dönüp dönüp dönüp durmaktı.
‫Çünkü koda bakarsak, sıfır her zaman 50'den küçük olacaktır.
‫Peki ne oldu, bu doğruyken biz bunu bastık.
‫Ben ve Python yorumlayıcısı ikinci satıra geri döndük ve şöyle dedik: Hey, sıfır hala 50'den küçük mü?
‫Evet.
‫Tamam.
‫Sonraki satırı yazdır.
‫Hey, sıfır hala 50'den az mı?
‫Evet.
‫Tamam.
‫Sonraki satır, yazdır.
‫Ve devam etti.
‫Devam etti, devam etti.
‫İşte bu sonsuz döngü dediğimiz şeydir.
‫Yani, program ne zaman duracağını bilmiyor.
‫Yani, sonsuza kadar devam etmesini söylüyoruz, sonsuza kadar.
‫Ve burada bazı önlemler aldım.
‫Ancak bunu kodda yaparsanız, programınız çökene kadar bu sonsuz döngüyü elde edersiniz.
‫Eğer bu kodu gerçekten çalıştırırsanız, makine artık yeterli güce sahip olmayana kadar çalışmaya
‫devam edecektir.
‫Bunu tekrar tekrar yapmaya devam etmek için yeterli kaynak.
‫Her şeyin bir sınırı vardır, değil mi?
‫Bu yüzden while döngüsünde gerçekten dikkatli olmalıyız.
‫Bu sonsuz döngü çok tehlikeli olabilir.
‫Peki bunu nasıl çözebiliriz?
‫Bir break deyimi fikrimiz var ve break, Python'da sadece başka bir anahtar kelime.
‫Ve tahmin edebileceğiniz gibi, eğer koş'a tıklarsam.
‫Şuna bak.
‫Sadece bir kez çalışır.
‫Python kırılmayı görür görmez, tamam, vahşi döngüden çık diyecektir.
‫Bu yüzden beşinci satıra gidecek ve orada hiçbir şey yok, programlar tamamlandı diyecek.
‫Programdan çıkacağım.
‫Hmm.
‫Peki ya bunun 50 kez döngüye girmesini istersem?
‫Bu sorunu nasıl çözebiliriz?
‫Bunu bir düşün.
‫Basitçe ben diyebiliriz.
‫I artı bire eşittir.
‫Ve sonra bunu I olarak değiştirdiğimizden emin olun.
‫Şimdi Çalıştır'a tıklarsam ne olacak?
‫Duracak mıyız?
‫49 yaşındayken bunu 50 kez yaptık.
‫Bunu 50 kez yaşadık çünkü gözü tekrar tekrar artırmaya devam ettik, böylece döngüye her geri
‫döndüğümüzde bir artıyordu.
‫Şimdi, bunun daha önce gördüğümüz bir kısaltması, artı eşittir bir yapmaktır.
‫Böylece eğer koşarsam.
‫Aynı şeye bakın.
‫Böylece döngünün dışına da çıkabiliyoruz.
‫Bir koşulu yanlışa çevirebildiğimiz sürece.
‫Yani bunu da çok göreceksiniz.
‫Yani vahşi bir döngüden çıkmak için ya koşulu yanlışa çevirebilir ya da döngüden çıkabilirsiniz.
‫Şimdi, while döngüsü ile yapabileceğimiz bir başka ilginç şey de else bloklarına sahip olabilmemizdir.
‫Ve burada baskı diyebiliriz.
‫Bütün işler bitti.
‫Ve eğer buraya tıklarsam.
‫En sonunda.
‫Şuna bak, onca iş bitmiş.
‫Ve bu İngilizce gibi okunmalı, değil mi?
‫Ben 50'den azken.
‫Buradan devam edin.
‫Ve son kısma geldiğimizde ben 50 oluyorum, 50 artık 50'den az değil.
‫Python yorumlayıcısı diyecek ki, tamam, oranın altındaki hiçbir şey umurumda değil.
‫Bir sonraki satıra geçelim ve başka türlü olsun.
‫Yani bu durumda başka bir şey olmuyor.
‫Tüm işleri bitirmiş olarak basabiliriz.
‫Ama muhtemelen kendinize soruyorsunuzdur, bekleyin.
‫Yapamaz mıyım?
‫Bunu yapmıyorum ve sadece girintimin sonda olduğundan emin oluyorum.
‫Çalıştır'a tıklayın ve.
‫Bu işe yarar, değil mi?
‫Neden yazmak isteyeyim ki?
‫Başka bir yerde.
‫Burada başka ne gibi özel bir durum var?
‫Yararlı olan bir şey var.
‫Yani, örneğin buraya bir break ifadesi eklersek.
‫Ve Çalıştır'a tıklıyorum.
‫Elf'in ifadesinin yazdırılmadığını göreceksiniz.
‫Bunun nedeni, else bloğunun yalnızca bir kesme olmadığında çalışacak olmasıdır.
‫Yani, duvar koşulu yanlışa dönerse, devam edecek ve başka bir şey yapacaktır.
‫Ancak bir kırılma olursa, tüm bu şeyden kopacak ve sekizinci hatta gidecektir.
‫Burada, yanında çok sık göremeyeceğiniz küçük bir püf noktası var.
‫Peki, ama bunun yürütüleceğinden emin olmak istediğinizde else'in kullanıldığı özel bir durum
‫var mı?
‫Yalnızca bir break deyimi yoksa, yalnızca döngü break deyimi olmadan yaptığı her şeyi yapmayı bitirmişse.
‫Biraz ara verelim ve döngüleri biraz daha keşfedelim.