Ders-4 Python While Döngüsü Loop
Döngüler (Loop)
Döngüler ard arda yapılan işlemlere denir. Bir işlemi 10 kez tekrar etmek istediğimizde döngüye sokarız. Bir işlemi istersek sonsuza kadar da döngü içine sokabiliriz.
While Döngüsü
While döngüsü bir şart sağlanıyor iken sürekli olarak tekrarlı bir şekilde içerisinde bulunan kodları çalıştırır. Türkçe anlamı “iken”, “müddetçe” dir.
While (koşul):
kod satırı 1
kod satırı 2
kod satırı 3
While komutunun yanına yazılan koşul doğru (True) olduğu müddetçe içerisindeki kod satırları bir döngü içinde (loop) sürekli tekrarlanmaktadır. Koşul dan sonra mutlaka iki nokta üst üste (:) konulmalıdır. Kod satırları ise birer tab ilerden başlatılması gerekir.
Aşağıdaki video da while döngüsünün yapısı, kullanımı ve örnek çözümleri yer almaktadır.
Python While Döngüleri Örnek 1:
a=1
While (a<10):
print a
a=a+1
Yukarıdaki örnekte başlangıçta a değişkenine 1 değeri atanmıştır. a değişkeni 10 dan küçük olduğu sürece bir döngü açılmış ve bu döngünün içindeki kodlar a değişkeni 10 dan küçük olduğu sürece tekrarlı bir şekilde çalışacaktır.
Döngü içerisinde a değişkeni ekrana yazdırılacak ve değeri +1 artırılacak. Daha sonra döngü tekrarlayınca a nın yeni değeri ekrana yazdırılacak ve a nın değeri tekrar+1 artırılacaktır. a değişkeni 10 oluca döngüden çıkılacaktır.
Yukarıdaki örnekte ekrana 1 den 10 a kadar sayılar sırasıyla yazdırılır.
Python While Döngüleri Örnek 2:
While 7==7 :
a= input ("Bir veri giriniz :")
print ("Veri=",a)
Yukarıdaki örnek de ise koşul sağlandığı sürece while döngüsü çalışacaktır. 7==7 True değeri üreteceğinden dolayı her zaman döngü içindeki komutlar tekrarlanacaktır. Bu bir sonsuz döngüdür.
Döngü içerisinde kullanıcıdan bir veri girilmesi istenir ve a değişkenine atanır. Hemen ardından a değişken indeki veri ekrana yazdırılır. Sonrasında döngü başa dönerek tekrar veri girişi istenir.
Python While Döngüleri Örnek 3:
#SAYI BULMACA OYUNU
sayı=55
while (true):
a= int (input ("Bir sayı giriniz:" ) )
if sayı<a:
print (" Daha küçük bir sayı giriniz...")
elif sayı>a:
print (" Daha büyük bir sayı giriniz...")
else:
print (" TEBRİKLER SAYIYI BULDUNUZ...")
break
Yukarıda bir sayı bulmaca oyunu kodları verilmiştir. Başlangıçta sayı değişkenine 55 değeri verilmiş ve kullanıcıdan bu değeri bulması istenmektedir. While döngüsü true olduğu sürece dönecektir. Bu demek oluyor ki bu döngü sonsuz bir döngüdür.
Döngü içinde kullanıcıdan bir sayı tahmin etmesini istiyoruz. Eğer (if) yapısı ile bu girilen sayının sayı=55 den büyük mü yada küçük mü olduğunu belirliyoruz ve gerekli uyarıları ekrana yazdırıyoruz. Sayıyı doğru tahmin ederse else yapısına giriyor ve “TEBRİKLER” mesajından sonra “break” komutu ile döngüden çıkılıyor.
Python Break Komutu:
İçinde bulunduğu döngüyü kırar yani çıkar. While döngülerinde çok kullandığımız bir komuttur. Özellikle sonsuz döngüler de kontrolün sağlanması için döngüden çıkılması gereken yerlerde kullanırız.
Python While Döngüleri Örnek 4:
x=1
While x<=100:
if x%2 == 1 :
print (x, " tek sayıdır.")
else:
print (x, " çift sayıdır.")
x=x+1
print ("İşlem Sona Erdi")
Yukarıdaki örnekte x değişkeni 100 den küçük ve 100′ e eşit olduğu sürece while içinde bir döngü bloğu vardır. Döngü içindeki kodlar x değişkeni 101 olduğu an çalışmaz ve döngü biter. Döngü içinde ise x in 2 ile bölümünden kalan değer bire eşit koşulu var. Eğer bu koşul True ise sayı tek sayıdır, değilse (else) sayı çift sayıdır.
Yukarıdaki kodlar 1 den 100 e kadar olan sayıların yanlarına tek mi çift mi olduklarını yazar.
Python While Döngüleri Örnek 4:
# 1 den 100' e kadar olan tek sayıların toplamı
x=0
sonuc=0
while x <= 100:
x = x+1
if x%2 == 1:
sonuc = sonuc + x
else:
continue
print (" Toplam = ", sonuc)
Başlangıç ta x ve sonuc değişkenlerine sıfır atanmaktadır. While döngüsü x değişkeni 100 e eşit yada 100 den küçük olduğu sürece dönecektir. döngüye girince x değişkeninin değeri bir arttırılıyor. daha sonra eğer (if) x in iki ile bölümünden kalan bir 1 ise sayının tek olduğu anlaşılır ve şu işlemin gerçekleştirilmesi gerekir:
sonuc = sonuc + x
Burada sonuc değişkenine x değişkenindeki değer eklenmektedir. Döngü sonunda sadece tek sayılar toplanacağı için bir den yüze kadar olan tek sayıları toplamı hesaplanır. x değişkeni 101 olduğu an döngüden çıkılır ve print komutu ile ekrana toplam değer yazdırılır.