Python Döngüler

Merhaba Arkadaşlar,

Mobilhanem.com da Python Dersleri serisinin bu dersinde Python da Döngüler konusunu işleyeceğim eğer bir önceki derse bakmadıysanız bu dersi iyi anlamanız için mutlaka buradan bakmanızı tavsiye ederim.

Python Döngüler :

Python da baya yol almamıza rağmen hala bizi kısıtlayan bazı problemler var mesela bir önceki dersimizde basit bir hesap giriş  uygulaması yapmıştık Kullanıcı adı ve parola doğru ise sisteme giriş yapıyordu eğer yanlış ise program kapanıyordu. Sisteme  tekrar giriş yapmamız için uygulamayı tekrar başlatmamız gerekiyordu. Daha basit bir örnek vermek gerekirse ekrana on defa “Python Dersleri” yazdırmak istersek on defa print() fonksiyonunu kullanmamız gerekiyor.

İşte biz bu dersimizde eğer kullanıcı , kullanıcı adı ve parolayı yanlış girerse kullanıcıya tekrar Kullanıcı adı ve parola girme imkanı verilsin veya sadece bir print() fonksiyonu ile ekrana on defa “Python Dersleri” yazısını yazdırma işlemi yapsın. işte bunu Pyhon döngüler(loop) ile yapacağız. İki farklı döngü çeşidi var ; while ve for ayrıca bu döngüler de bize lazım olan range() ve len() fonksiyonu ile break, continue ve in deyimlerine değineceğim.

While Döngüsü:

İngilizce bir kelime olan while Türkçe deki  karşılığı “-iken” dir. Python da yazdığımız kodları tekrar çalıştırmamızı sağlayan döngü çeşididir. Çalışma mantığı ise while döngüsü her defasında tekrarlanır , eğer koşul sağlıyorsa  tekrar döngüye girer , eğer sağlamıyorsa döngü sonlanır hemen bir örnekle gösterelim; 0 ile 10 arasındaki sayıları ekrana yazdıralım.

 

Kodları sırayla inceleyelim ilk satırda sayı adında bir değişken oluşturduk ve değerini sıfır yaptık ikinci satırda sayı değişkenin değeri 10’dan küçük ve eşit olduğu sürece döngü  tekrar etsin.

Üçüncü satırda ekrana sayı değişkenini yazdırma işlemini yaptık ve dördüncü satırda sayı değişkenini bir artırdık.

Program nasıl çalışacak;

İlk olarak sayı değişkeninin değeri sıfır bunu on ile karşılaştıracak eğer küçük ve eşitse döngü içine girecek ilk olarak sıfır değerini ekrana yazdıracak sonra sayı değişkenini bir arttıracak sayı değişkenin yeni değeri bir olacak ve tekrar döngünün başına gelecek. Yine aynı şekilde on değeri ile karşılaştıracak ekrana yeni değeri yazdıracak ve değeri bir artıracak , sayı değişkenin değeri on dan büyük olana kadar ve döngüyü sonlandıracak.

Şimdi bir önceki dersimizde basit olarak yaptığımız harf notu uygulamasını while döngüsü ile tekrar yapalım;

artık while döngüsü sayesinde üst üste hesaplama işlemi yapabiliyoruz.

For Döngüsü:

Python Döngüler de bir diğer döngümüz ise for döngüsüdür. While döngüsü ile aynı işlevi gören bu döngünün kullanımı biraz farklıdır ama işlevleri aynıdır. Hemen while döngüsü ile yaptığımız 10’a kadar sayıları ekrana yazdırma işlemini for döngüsü ile yapalım;

Burada da değişken sayı, koşul ise sayı değişkenin 0 ile 10 değerleri arasında olması. Farklı bir örnekle daha gösterelim.

Python Döngüler konusunun her iki döngü çeşidini gördüğümüze göre. Hangisini kullanmamız daha iyi diye sorarsanız ikisinin birbirine göre üstünlüğü yok bir uygulamada while döngüsü daha iyiyken başka bir uygulamada for döngüsü daha avantajlı olabilir.

Range Fonksiyonu:

Türkçede karşılığı “aralık “olan bu fonksiyon sayı aralıklarını belirtir. Kullanımı şu şekildedir;

range(başlangıç değeri , bitiş değeri, değişim miktarı)

range(10) : sıfır ile 9 aralığındaki sayıları belirtir. Başlangıç değerini belirtmediğimiz için default olarak 0, değişim miktarını belirtmediğimiz için ise default olarak 1 değerini alır. Ve dikkat etmemiz gereken başka bir husus ise bitiş değerini dahil etmiyor.

range(2,20,2): iki ile 19 arasındaki sayıların ikili artış şeklindeki sayıları kapsar.

range(20,2,-2): 20 ile 2 arasındaki sayılların ikili azalma ile olan sayıları kapsar

in  İşleci:

Türkçe deki karşılığı “içinde” olan bu işlevi istenilen değer yada arlık içinde olup olmadığını sorgulama yapmamızı sağlayan işleçtir.

Örneğin

for sayı in range(20):

burada sayı değişkeni 0 ile 19 arasındaki bütün değerleri alır.

Len() Fonksiyonu:

Türkçe de ki anlamı “uzunluk” olan length kelimesinin kısaltması olan bu fonksiyon karakter dizileri, liste, demet gibi değişkenlerin uzunluğunu gösterir.

Örneğin

veya listelerde

Peki bu fonksiyon nerelerde kullanılır; mesela sosyal hesabınız işin şifre oluşturduğunuz zaman en az 6 karakter yada en fazla 12 karakter girmenizi ister bu tur işlemlerde yada elinizde olan bir verinin uzunluğunu öğrenmek için kullanabilirsiniz ama kesinlikle tamsayılar da kullanamazsınız bu fonksiyonu.

Break Deyimi:

Türkçe de ki anlamı bırakmak “terketmek” olan bu kelime Python da bir döngüyü sonlandırmak için kullanılır yorumlayıcı bunu gördüğü zaman programı sonlandırır diğer kodlar yorumlanmaz. Hemen bir örnekle gösterelim.

Şimdi bir önceki dersimizde yaptığımız hesaba giriş uygulamasını while() ile tekrar düzenleyelim bu sefer kullanıcıya üç defa giriş hakkı verilsin kullanıcı bilgileri yanlış girdiği zaman  giriş hakkı bir azaltıp tekrar kullanıcıdan bilgileri istesin.

 

Kullanıcı adı ve parolayı doğru girdiğimizde yine bizden kullanıcı adı ve parolayı istiyor ama bizim istediğimiz bilgileri doğru girdiğimiz zaman giriş yapalım ve işlem sonlansın bunun için hemen break deyimini kullanalım;

 

Continue Deyimi:

Türkçe deki anlamı “devam” etmek olan bu deyim yorumlayıcı gördüğü zaman diğer kodları es geçer ve döngünün başına gelir hemen bir örnekle gösterelim;

Burada sayı değişkeni 2 ye tam bölüyorsa yorumlayıcı continue  deyimi sayesinde   sayı değişenin 2 ye tam bölündüğü koşulları es geçip döngünün başına gelecektir.

Mobilhanem.com da Python Dersleri serisinin bu dersinde Python Döngüleri öğrendik bir sonraki dersimiz Liste ve Listenin Metotları konusunu işleyeceğim. Anlamadığınız , eksik yada hatalı gördüğünüz olursa çekinmeden ulaşabilirsiniz size yardım etmekten mutluluk duyarım bir sonraki yazıda görüşmek üzere.

Bütün Python derslerine buradan ulaşabilirsiniz.

 

 

 

 

 

Cahit İşleyen

Fırat Üniversitesi Yazılım Mühendisliği
Python ve Linux sever.
Çay tiryakisi

Yorum Yaz

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?