ÜNİTE:
1.2. PROBLEM ÇÖZME VE ALGORİTMALAR
KAZANIMLAR:
1.2.6.3. Mantıksal yapıları birbirine dönüştürür.
1.2.6.4. Problemin çözümünde çoklu karar yapılarını kullanır.
PYTHON - WHILE DÖNGÜSÜ
KISIM
WHILE DÖNGÜSÜ TEMEL YAPISI
While Döngüsü Nedir?
While döngüsü, bir şart (koşul) doğru olduğu sürece kod bloğunu tekrar tekrar çalıştırır.
Şart yanlış olduğunda döngü durur.
Temel Yapısı
while döngüsü, belirli bir koşul doğru (True) olduğu sürece bir kod bloğunu tekrar tekrar çalıştıran bir döngü yapısıdır. Yani koşul False olduğunda döngü durur. Bu tür döngüler, koşulun ne zaman sonlanacağı önceden bilinmediğinde veya belirli bir koşulun sağlanana kadar devam etmesi gerektiğinde kullanılır.
Örnek:
Birden başlayarak 5'e kadar sayıları yazdıralım.
Çıktı:
Açıklama
Başlangıçta sayi = 1.
while kontrol eder: "sayi 5'ten küçük mü?"
Eğer doğruysa, kod bloğundaki print(sayi) çalışır.
Sonra sayi += 1 ile sayı bir artırılır.
Bu işlem, sayi 6 olana kadar tekrar eder.
sayi = 6 olduğunda koşul yanlış olur ve döngü durur.
Infinite Loop - Sonsuz Döngü
Infinite Loop (Sonsuz Döngü), bir döngünün belirlenen koşulun hiçbir zaman yanlış olmaması nedeniyle sonsuz kez çalışması durumudur. Bu tür döngüler, genellikle bir hata sonucu oluşsa da, bazı durumlarda bilinçli olarak kullanılabilir. İşte infinite loop hakkında detaylı bir açıklama:
Eğer koşul değişmezse, döngü sonsuz döngüye girer.
Bu yüzden her döngüde koşulu değiştirecek bir işlem yapılmalı.
Hatalı Örnek:
Kasıtlı Yapılan Örnek:
Eğer bir while döngüsünün koşulu hiçbir zaman False olmazsa, döngü sonsuz bir döngüye dönüşür. Bu tür döngüler genellikle kasıtlı olarak yapılır, ama dikkatli kullanılmalıdır:
Bu döngü, True ifadesi her zaman doğru olduğu için sürekli olarak çalışacaktır. Sonsuz döngüleri genellikle kullanıcı bir işlem yapana kadar programın durmadan çalışması gerektiğinde kullanabilirsiniz (örneğin, bir oyun sürekli çalışır ve kullanıcı çıkış yapana kadar kapanmaz).
Kısım Özet Video
KISIM ALIŞTIRMALARI:
SAYILARI SIRAYLA YAZDIRMA
Birden başlayarak 20'ye kadar sayıları yazdıralım.
Nasıl Çalışır?
Başlangıç Değeri: Döngüye başlamadan önce sayi = 1 ile başlangıç değeri belirlenir.
Koşul: Döngü her iterasyonda sayi <= 20 koşulunu kontrol eder. Eğer bu koşul True ise, döngü devam eder. Koşul False olduğunda döngü sona erer.
Artış: Her döngüde sayi += 1 işlemi ile sayı bir artırılır.
HATALI SONSUZ DÖNGÜYÜ DÜZELTME
Aşağıdaki sonsuz döngünün kodlarını düzeltiniz.
Hatalı Kodun Çalışma Mantığı:
Başlangıç: sayi başlangıçta 1 olarak belirlenir.
Koşul Kontrolü: sayi > 0 koşulu kontrol edilir.
sayi başlangıçta 1 olduğu için bu koşul True olur.
Yazdırma ve Artış:
print(sayi) ile mevcut değer ekrana yazdırılır.
Ardından sayi += 1 ifadesiyle sayi bir artırılır.
Bu işlem sonsuza kadar devam eder çünkü sayi her zaman sıfırdan büyük kalır.
Sonsuz Döngüyü Önlemek İçin Çözüm:
Döngüye Bir Limit Ekleme: Döngüyü belirli bir değerden sonra durdurabilirsiniz.
KISIM ALIŞTIRMALARI ÇÖZÜMLERİ:
KISIM
While Döngüsünün Özellikleri (BREAK, CONTİNUE, ELSE BLOĞU)
1. break
break ifadesi, bir döngüyü koşuldan bağımsız olarak erken sonlandırmak için kullanılır. Döngü içinde bir break ifadesine ulaşıldığında, döngü tamamen durur ve kontrol döngünün dışına çıkar.
break Kullanım Örneği:
Çıktı:
Açıklama: break ifadesine ulaşıldığında döngü hemen sona erer ve 5 ekrana yazdırılmaz.
2. continue
continue ifadesi, döngünün o anki yinelemesini atlamasını sağlar. Döngü içindeki kalan kod çalıştırılmaz, ancak döngü bir sonraki yinelemeye devam eder.
continue Kullanım Örneği:
Çıktı:
Açıklama: continue ifadesi çalıştığında, print(sayi) çalıştırılmaz ve döngü bir sonraki yinelemeye geçer.
3. else Bloğu
Döngülerin else bloğu, döngü normal şekilde tamamlandığında (yani bir break ifadesiyle kesilmezse) çalışır. Döngü koşulu False olduğunda veya döngü tamamlandığında else bloğu devreye girer.
else Kullanım Örneği:
Çıktı:
Açıklama: Döngü koşulu sayi <= 5 False olduğunda else bloğu çalışır.
4) break ile else Kullanımı:
Eğer bir döngü break ile kesilirse, else bloğu çalışmaz.
Çıktı:
Açıklama: Döngü 3’e ulaştığında break çalıştığı için else bloğu atlanır.
KISACA:
break: Döngüyü koşuldan bağımsız olarak tamamen durdurur.
continue: Döngünün o anki yinelemesini atlar ve bir sonraki yinelemeye geçer.
else: Döngü koşulu False olduğunda veya döngü normal şekilde tamamlandığında çalışır. Ancak, bir break ile döngü sona ererse else çalışmaz.
Kısım Özet Video
KISIM ALIŞTIRMALARI:
1. break Alıştırması
Kullanıcıdan sürekli olarak sayı girmesini isteyin. Eğer kullanıcı 0 girerse, döngüyü durdurun ve ekrana "Döngü durduruldu" yazdırın.
Açıklama:
while True: Sonsuz döngü oluşturulur, böylece kullanıcı sayı girdikçe döngü devam eder.
Koşul: Kullanıcı 0 girerse, if bloğu devreye girer ve break ifadesi çalışarak döngüyü tamamen durdurur.
Normal Akış: Eğer kullanıcı 0 girmezse, girilen sayı ekrana yazdırılır ve döngü tekrar başlar.
2. continue Alıştırması
1 ile 10 arasındaki sayılardan sadece çift olanları ekrana yazdırın. Tek sayılar için döngünün o adımını atlayın.
Açıklama:
Koşul: sayi % 2 != 0 kontrolü ile sayının tek olup olmadığı belirlenir.
continue: Eğer sayı tekse, döngünün o adımındaki kodların geri kalanı atlanır ve bir sonraki iterasyona geçilir.
Normal Akış: Eğer sayı çiftse, print(sayi) ile ekrana yazdırılır ve döngü devam eder.
3. else Bloğu Alıştırması
Kullanıcıdan bir parola tahmin etmesini isteyin. Kullanıcının en fazla 3 hakkı olsun. Eğer doğru tahminde bulunursa döngüden çıkın ve "Doğru tahmin!" yazdırın. Kullanıcı 3 hakkını da yanlış kullanırsa, döngü sonunda else bloğunda "Haklarınız bitti!" mesajı gösterin.
Açıklama:
Döngü Başlangıcı:
Kullanıcının hak değişkeni ile tahmin hakkı tutulur. Her tahmin yanlış olduğunda hak -= 1 ile bir hak azaltılır.
Doğru Tahmin:
Eğer kullanıcı doğru tahmin yaparsa, if parola == dogru_parola kontrolü True olur, "Doğru tahmin!" mesajı yazdırılır ve break ile döngü sona erer.
Yanlış Tahmin:
Kullanıcı yanlış tahminde bulunduğunda, kalan hak sayısı ekrana yazdırılır.
else Bloğu:
Eğer döngü bir break ifadesiyle sonlanmaz ve haklar tükenirse, döngü normal şekilde tamamlandığı için else bloğu çalışır ve "Haklarınız bitti!" mesajı yazdırılır.
4) break ile else Kullanımı Alıştırması
Kullanıcıdan bir sayı isteyin, ardından program bu sayıyı tahmin etmeye çalışsın. Eğer doğru tahmin yapılırsa break, aksi takdirde else bloğu çalışsın.
Bu alıştırmada:
Kullanıcıdan bir sayı (hedef) belirlemesi istenir.
while döngüsü 1'den başlayarak 10'a kadar her sayıyı tahmin etmeye çalışır.
Eğer tahmin == hedef ise:
"Doğru tahmin!" mesajı yazdırılır.
break ile döngü sona erer.
Döngü hiçbir tahminde break ile kesilmezse, else bloğu çalışır ve "Doğru sayı bulunamadı!" mesajı gösterilir.
KISIM ALIŞTIRMALARI ÇÖZÜMLERİ:
Ödev:
Kullanıcıdan bir sayı isteyin, ardından program bu sayıyı tahmin etmeye çalışsın. Eğer doğru tahmin yapılırsa break, aksi takdirde else bloğu çalışsın ve oluşturduğunuz kodların fotoğrafını aşağıdaki mail adresine gönderiniz.
Maile isim soy isim, sınıf ve okul numarası bilgilerinizi yazmayı unutmayınız.
egitimdebil@gmail.com
Önerilen program: IDE - PYTHON (Bilgisayarla çalışmayanlar, kodları deftere yazıp fotoğrafını gönderebilirler.)
Bilişim Teknolojileri Öğretmeni: İshak BEZCİ
Son gün ve saat : Pazar gece 12.00
Comments