While döngüsü

Yazdığımız kodları tekrar tekrar döndürmemizi sağlayan, programımıza süreklilik katan gerçekten önemli araçlardan birisidir.

While: Yazdığımız kodları tekrar tekrar döndürmemizi sağlayan, programımıza süreklilik katan gerçekten önemli araçlardan birisidir.

Kullanım şekli;

while koşul:

    argümanlar



Yeni başlayanların bir kısmı while döngüsünü çözemiyor olabilirler, başta bende böyledim fakat göründüğü gibi de karmaşık değil. Örneğin programımız sürekli çalışsın. Biliyoruz ki bilgisayarlar 0 1 ile çalışıyor, bu da programlamalarda true false olarak gecer.(True: 1, False: 0) değerini taşır. Şimdi True ve False kullanarak ve 0 1 kullanarak bir while döngüsü yazalım.


a = True #1

while a: #2

  sayi = raw_input("Sayi girin: ")

  if sayi == 1:

    print "Secim dogru"

  else: 

    a = False #3



N: Biliyorsunuz python'da # yorum satırlarıdır. Önceki derslere baktım if, raw_input, print filan anlatılmış. Diğer eğitmenlerin derslerinden bunlara ulaşabilrisiniz, bu yüzden tekrar tekrar anlatmadım. Açıklama satırlarına verdiğim numaralara göre açıklamaya başlayayım.

#1 - a diye bir değişken tanımladım ve değerini True olarak atadım.
#2 - Buraya dikkat, programlama dili bunu bu şekil görüyor. Genel mantık: program çalıştığında çalışıyorsa bilgisayar bunu 1 (True) çalışmıyorsa 0 (False) olarak görecektir. Bi programı çalıştırmazsak kodları kafasına göre yapamıyacağı için bur bir çelişkiye düşebilirsiniz. Yavaş yavaş mantığını anlayacaksınız. Bu döngünün koşulu a değişkenimizin değeri True idi. Bu yüzden program çalıştığında paso döngü içindeki işlemleri gerçekleştiriecek taaki #3. açıklamaya gelene dek.

#3 - Burda ise, girien seçimin aramadığımız seçimlerden biri olduğunu savunarak, a değişkenimizin değerini False yaptık yani a değişkenimiz artık False (0) bu durumda döngü zinciri kırılacaktır.

Aynı örneği integer değer kullanarak yapalım;


a = 1 #1

while a: #2

  sayi = raw_input("Sayi girin: ")

  if sayi == 1:

    print "Secim dogru"

  else: 

    a += 1 #3



#1 - a diye bir değişken tanımladım ve değerini 1 olarak atadım.
#2 - Yukarda yaptığım işlemin aynısını integer değer olarak while koşul biçiminde bağladım.
#3 - Bu kısım şu şekilde de yazılabilir(a = a + 1), fark etmez ikiside aynı şey. Yaptığımız olay şu şekilde de olsa yine döngü zinciri kırılacaktı. Bİliyoruz ki False(0) True(1) peki ben değerimi 0 veya 1 den büyük yaptığımda zincir kırılacakır. İyi tamam 0 ı anladım neden 1 den büyük? dediğinizi duyar gibiyim. Bunun nedeni ise şu bilgisayar 0 ve 1 leri okuyabiliyor. Bu yüzden 0 ve 1 den farklı bir değer atandığında tanımayacaktır.

Bir tane daha örnek;

a = 0

while a<100:

   a = a + 1

   print a



Kendinizi while konusunda usta yapmak için aşağıdaki sorularımı python'a dökmeye çalışın ;)

1) 1 'den 100'e kadar 5'er 5'er atlayarak giden tüm sayıları yazdır.
2) 1 mumdur, 2 mumdur şarkısını while döngüsüne dökün bakalım ;)

Başarılar...
  • Etiketler;
Fatihmert Fatihmert
Sanalkurs.net
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git