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;
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.
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;
#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;
Kullanım şekli;
Kod:
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.
Kod:
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;
Kod:
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;
Kod:
a = 0
while a<100:
a = a + 1
print a
