Merhaba arkadaşlar,
Programlamada en çok kullandığımız yapılardan birisi de döngülerdir. Döngüler, aynı işlemleri istediğimiz sayıda aralıksız yapmamıza olanak sağlar. Kullanım amacı ise birden fazla işi, daha az satır kod yazarak yapmaktır. Python’da 2 farklı döngü tipi vardır. Bunlar while ve for döngüleridir.
While Döngüsü
While dögüsünü daha çok sonsuz döngü oluşturmada kullanırız.
Alt alta 100 kere isminizi yazdırmak isterseniz şu yolları izleyebilirsiniz:
>>> print("donanimplus.com\n"*10)
donanimplus.com
donanimplus.com
donanimplus.com
donanimplus.com
donanimplus.com
donanimplus.com
donanimplus.com
donanimplus.com
donanimplus.com
donanimplus.com
>>> x = 0
>>> while x < 10:
... print("donanimplus.com")
... x = x+1
...
donanimplus.com
donanimplus.com
donanimplus.com
donanimplus.com
donanimplus.com
donanimplus.com
donanimplus.com
donanimplus.com
donanimplus.com
donanimplus.com
Burada iki farklı yazım sekli var. Birinci kod tek satırla yazılmış olup ve diğerinden kat ve kat hızlı çalışır.Ancak
0 . donanimplus.com
1 . donanimplus.com
…
gibi bir çıktı almak istiyorsak bunu while ile yapmak daha akıllıca olur. Çünkü birinci koddaki gibi yazmak istersek bu bize 10 satırlık bir kod olarak geri dönerken aynı çıktıyı while yapısını kullanarak 4 satırda alabiliriz.
>>> x = 0
>>> while x < 10:
... print(x, ". " + "donanimplus.com")
... x = x + 1
...
0 . donanimplus.com
1 . donanimplus.com
2 . donanimplus.com
3 . donanimplus.com
4 . donanimplus.com
5 . donanimplus.com
6 . donanimplus.com
7 . donanimplus.com
8 . donanimplus.com
9 . donanimplus.com
Döngülerin genel amacı bu şekildedir. Daha fazla ilerlemeden while’ın söz dizimine bakalım.
While keyword’ünden sonra if söz diziminde de olduğu gibi koşul kısmı gelir. Bu koşul kısmı sağlandığı sürece while bloğu içerisindeki kodlar baştan sona tekrar tekrar işlenir.
1. Satır: x = 0 diyerek ilk atama işlemimizi, üstünde koşul kontrolü yapacağımız değişken üzerine yapıyoruz.
2. Satır: while’ın Türkçe’deki anlamı olan “iken” anlamını taşır. Yani ikinci satırı şu şekilde okuyabiliriz: x değişkeni 10’dan küçük iken -veya küçük olduğu sürece- while bloğu içerisindeki tüm komutları işle.
3. Satır: print fonksiyonunu ve kullanımını öğrenmiştik. Burada en önemli kısım kendisine ilk parametre olarak -kod işlenmeye devam ederken ki- x değerini veriyoruz. Bu, çıktıda ki sayıların yazılmasını sağlar.
Eğer kodumuzu;
>>> x = 0
>>> while x < 10:
... print(x, ". " + "donanimplus.com")
...
0 . donanimplus.com
0 . donanimplus.com
0 . donanimplus.com
0 . donanimplus.com
0 . donanimplus.com
0 . donanimplus.com
0 . donanimplus.com
0 . donanimplus.com
şeklinde yazarsak sonsuz döngüye girmiş oluruz yani ekrana durmadan yazı yazdırmış oluruz.
For Döngüsü
For döngüsünün 2 farklı kullanım amacı ve 2 farklı yazım sekli vardır. Önce kullanım amaçlarını inceleyelim.
1. For Döngüsü range fonksiyonu ile kullanılabilir. Bu kodumuzun hızlı işlenmesini sağlar.
>>> for x in range(5):
... print(x)
...
0
1
2
3
4
2. For Döngüsü , alt veri tiplerine sahip verilerin her bir alt verisine birer birer erişmenizi sağlar. Bu özellik son derece hızlı ve kullanışlıdır.
>>> sayı_listesi = [0, 1, 2, 3, 4]
>>> for x in sayı_listesi:
... print(x)
...
0
1
2
3
4
>>> karakter_dizisi = "donanimplus"
>>> for x in karakter_dizisi:
... print(x)
...
d
o
n
a
n
i
m
p
l
u
s
Buraya kadar for döngüsünün birinci yazım şeklini gördük. İkinci yazım sekli,
>>> [x for x in range(15)]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
şeklindedir. Bu tip yazım şekli 1. yazım şeklinden daha hızlı işlenir.
İnput fonksiyonu
İnput fonksiyonu, kullanıcıdan veri almamıza yarar. Alınan her veri karakter dizisi olarak alınmasına rağmen, istersek sayıya veya listeye çevirebiliriz. Kullanımı,
>>> veri = input("Kullanıcıya gösterilecek yazı\n")
Kullanıcıya gösterilecek yazı
4
>>> veri
'4'
şeklindedir.
Uygulama
Kullanıcının girdiği sayının asal olup olmadığını kontrol edecek bir uygulama yazalım.
Asal sayılar kendisi ve 1 dışında başka tam böleni olmayan pozitif tam sayılardır. Belirtmek gerekir ki 1 asal sayı olarak kabul edilmez. Şimdi yazmaya başlayalım.
veri = input("Sayı giriniz.")
veri = int(veri)
kontrol = 1 #Sayıyı başta asal kabul ediyoruz. Eger asal değilse değişikliğe uğramıyor.
for i in range(2, veri):
if veri % i == 0:
print("Girilen sayı asal değildir.")
kontrol = 0
break #Döngünün kırılıp döngüden çıkılmasını sağlıyor.
if kontrol == 1:
print("Girilen sayı asaldır.")
Asal sayı kontrolü için türlü türlü yollar vardır. Bu yol en uzun ve en yavaş yollardan bir tanesidir. Bunu geliştirmek size kalmış. Burada “#” işareti yeni bir ifade o da sadece kendisinden sonra açıklama yazabilmemizi sağlıyor.
Bugün ki dersin sonuna geldik. Bir sonraki ders kendi fonksiyonumuzu yazacağız. Sevgiler, saygılar sunarım.
Yorum Yap