Kaydol
Giriş Yap
Parolanızı mı unuttunuz

Şifreni mi unuttun? Lütfen e-mail adresinizi giriniz. Bir bağlantı alacaksınız ve e-posta yoluyla yeni bir şifre oluşturacaksınız.

Üzgünüz, gönderi ekleme izniniz yok.

Python’da Döngüler

    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.

yapay zeka destekli haber sitesi

  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

Range fonksiyonu, aralığında anlamını taşıyacak şekilde çalışır. Bir veya birden fazla parametre alabilir. 
Bir parametre alırsa, 0’dan başlayarak parametre olarak verilen sayıya kadar olan sayıları bize döndürür. 
İki parametre alırsa, ilk parametreden başlayarak ikinci parametreye kadar olan sayıları verir. 
Üç parametre alırsa, ilk parametreden başlayarak ikinci parametreye kadar olan sayıları 3. parametre olarak verilen sayı kadar atlaya atlaya verir. Yani 3 parametre bize sayma işleminin kaçar kaçar yapılacağını belirtme imkanını sunar. 
 

  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

İlginizi Çekebilecek Diğer Yazılar