Bu Makalemizde çoğu yerde döngülerle beraber anlatılan ama yeterince üzerinde durulmadığını düşündüğüm ve döngüler için oldukça önemli yere sahip olan Break ve Continue ifadelerinden bahsediyor olacağız.
Break anahtar kelimesi, bir döngüyü sonlandırmak için kullanılır. Örneğin, kullanıcı 0 girene kadar sayıları topladığımız örnek programda, kullanıcının 0 girmesi yerine “q” harfi girmesi halinde de döngüden çıkmamız gerekebilir. Bunun için break anahtar kelimesini kullanabiliriz. Aşağıdaki örnekte, kullanıcının “q” harfi girmesi halinde döngüden çıkıyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 |
# kullanıcı q harfi girene kadar sayıların toplamını yazan program sayi=(input("lütfen bir sayı giriniz (çıkmak için q tıklayınız) :")) toplam =0 while True: if sayi != 'q': toplam+=int(sayi) sayi=(input("lütfen bir sayı giriniz (çıkmak için q tıklayınız) :")) else: print("döngü bitti") print("toplam sayi : ",toplam) break |
Continue anahtar kelimesi ise, bir döngünün o anki adımını atlamak için kullanılır. Örneğin, 1’den 11’e kadar olan sayıları ekrana yazdırdığımız örnekte, 3 ve 5 sayılarını yazdırmak istemediğimizi varsayalım. Bunun için continue anahtar kelimesini kullanabiliriz.
1 2 3 4 5 6 |
#1-11 arası sayıları yazalım ama 3 ve 5 yazılmasın for i in range(1,11): if i==3 or i==5: continue print(i) |
kodun ekran çıktısı:
Break ve continue anahtar kelimelerinin beraber kullanımı
1 2 3 4 5 6 7 |
for i in range(1,11): if i ==3: continue elif i ==8: break else: print(i) |
Bu programda, 1’den 11’e kadar olan sayıları ekrana yazdırıyoruz. Ancak, 3 sayısını yazdırmak istemediğimiz için if i == 3 koşulunda continue anahtar kelimesini kullanıyoruz. Ayrıca, 8 sayısına geldiğimizde döngüyü sonlandırmak istediğimiz için elif i == 8 koşulunda break anahtar kelimesini kullanıyoruz.
Bu kodun ekran çıktısı :
Görüldüğü gibi, 3 sayısı yazdırılmadı ve 8 sayısına geldiğimizde döngü sonlandırıldı.
Sayı Tahmin oyunu
Şimdi ise Break ve Continue anahtar kelimelerinin de kullanıldığı bir sayı tahmin oyunu yapalım.
Örneğin, kullanıcıya bir sayı tahmin oyunu oynattığımızı düşünelim. Bilgisayar rastgele bir sayı seçer ve kullanıcının bu sayıyı tahmin etmesi gerekmektedir. Kullanıcı yanlış tahminlerde bulundukça, hakkı azalmaktadır. Tahmin sayısı belirli bir sayıya ulaştığında oyun sona ermektedir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
import random PcSayisi=random.randint(1,50) print(PcSayisi) print("""1-50 arasında bir Tahminde bulun.\n """) hak=5 while hak>0: tahminSayi = int (input(f"{hak} tane hakkınız var ve lütfen sayınızı giriniz : ")) hak-=1 if tahminSayi<PcSayisi: print("Daha büyük sayı tahmin etmelisin") continue elif tahminSayi>PcSayisi: print("Daha küçük sayı tahmin etmelisin ") continue else: print(f""" ***********Tebrikler Sayıyı doğru tahmin ettiniz ******** Sayı : {PcSayisi} """) break if hak ==0: print(f"\n\nüzgünüm bulamadınız PC'nin ürettiği sayı şuydu : {PcSayisi}") |
Bu kodumuzda import random diyerek rastgele sayı oluşturma kütüphanemizi yüklemiş olduk daha sonra random.randint(1,50) diyerek 1-50 arasında rastgele sayıları oluşturmayı sağladık ve bunu PcSayisi adlı değişkene atadık böylece kullanıcı görmeden arkaplanda Bilgisayar bir sayı tutmuş oldu. Daha sonra kullanıcıdan input fonksiyonu ile bir sayi tahmin etmesini istedik ve bunu tahminSayi adlı değişkene atadık. While döngümüzle while hak>0: belirlenen hak sayısı kadar bir döngü yapıp tahminSayi ile PcSayisi’ni karşılaştırdık.
if tahminSayi<PcSayisi: ve elif tahminSayi>PcSayisi: ifadelerinin doğruluğunda gerekli ekran bilgisini print fonksiyonu ile verip Continue anahtar kelimesi ile sonraki değerler için döngünün devamını sağlamış olduk. Kullanıcı doğru tahmin ettiğinde ise else: durumunda print fonksiyonu ile gösterdik ve Break anahtar kelimesi ile döngüyü kırdık yani döngüden çıkmasını sağladık. While döngüsü dışında da kullanıcı hak kontrolünü sağlayarak, hak sayısı bitince bunun ekran çıktısını gösterip aslında doğru sayının ne olduğunu göstermiş olduk.
kodumuzu ekran görüntüleri aşağıdaki gibidir.
Bilgisayarın oluşturmuş olduğu sayı’yı doğru tahmin ettiğimizde programın çıktısı aşağıdaki gibidir.
Bilgisayarın oluşturmuş olduğu sayı’yı yanlış tahmin ettiğimizde, bulamadığımızı ve aslında hangi sayı olduğunu aşağıdaki gibi göstermiş olduk.