Bu derste python'da döngüleri anlatıcam arkadaşlar. Aslında bu konuyu dün açmam lazımdı ama rahatsızlığım nedeniyle 2 gündür doğru düzgün ilgilenemiyorum. Nese konuya geçelim. Önceki derste bir hesap makinesi yapmıştık arkadaşlar. Ancak o hesap makinesinde kullanıcı bir işlem yaptıktan sonra program kapanıyordu. Tekrar işlem yapmak isterse tekrar programı açması lazım ve bu olay biraz zahmetliydi. Kullanıcıların programı tercih etmemesini sağlayan bir durumdu. Ancak bu derste öğreneceğimiz döngüler sayesinde bu durumu ortadan kaldıracağız. Python'da döngüler programımızı sürekli döndürmemizi sağlar. Yani kullanıcı hesap makinesinde bir işlemi bitirdikten sonra programı başa döndürebiliriz ve kullanıcı istediği işlemi tekrar programı açmadan yapar. Programı döndürmemizde bize yardımcı olucak döngüler while ve for döngüleridir. Ayrıca bu bölümde range ve len fonksiyonundan, break ve continue deyimlerinden bahsedicem. WHILE DÖNGÜSÜ while dögüsü yazdığımız bir programdaki kodların tamamı işetilince programın kapanmasını engeller ve kod dizisinin en başa dönmesini sağlar. Hemen örneklerle devam edelim; şimdi burada bir "a" değişkeni tanımladık ve değer olarak 0 verdik. Sonra while dögüsü ile şunu sağladık: "a değişkenini değer 100 den küçük olduğu sürece a değikenine 1 ekle ve bunu yazdır." Programımızı çalıştırdığımızda 1'den 100'e kadar sayılar çıkacaktır. Daha ayrıntılı bir anlatım yapalım; "a" değişkeninin değerini kontrol ediyor, "a"nın 0 olduğunu görüyor, "a"nın 100 den küçük olduğunu görüyor, "a" ya 1 ekliyor yani 0+1=1, bu değeri ekrana yazıyor yani 1'i, başa dönüyor ve "a"yı kontrol ediyor, "a"nin 1 olduğunu görüyor ve 100 den küçük olduğunu algılıyor, "a" ya 1 ekliyor yani 1+1=2, bu değeri ekrana yazıyor yani 2'yi, Bu işlemi 100 sayısına ulaşana kadar yapıyor. Sanırım anladık. while döngüsünde ve başka alanlarda bize lazım olacak bazı işleçler var. Bunlar; + işleci: "toplama" yapmamızı sağlar - işleci: "çıkarma" yapmamızı sağlar / işleci: "bölme" yapmamızı sağlar işleci: "çarpma" yapmamızı sağlar > işleci: "büyüktür" anlamına gelir < işleci: "küçüktür" anlamına gelir <= işleci: "küçük eşittir" anlamına gelir >= işleci: "büyük eşittir" anlamına gelir!= işleci: "eşit değildir" anlamına gelir and işleci: "ve" anlamına gelir or işleci: "veya" anlamına gelir True işleci: Doğru anlamına gelir False işleci: Yanlış anlamına gelir Bu işleçleri yeri geldiğince kullanacağız. Şimdi hesap makinesinden bahsetmiştik. Diğer konuda yazdığımız hesap makinesi aynen böyledir; Bu hesap makinesinde kullanıcı bir işlem yaptıktan sonra kapanıyordu. Şimdi while dögüsü ile hesap makinesinin sürekli çalışmasını sağlıyalım; Burada yaptığımız değişiklikler altını çizerek gösterdiğim "while True:" ifadesi ve ifadenin altında kalan bütün sayıları bir seviye sağa kaydırmaktır. "while True:" ifadesinde programa aslında şunu söledik: "doğru olduğu müddetçe aşağıdaki komutları çalıştırmaya devam et" Ama ne doğru olduğu müddetçe. Neyin doğru olduğunu belirtmediğimiz için python burada herşeyi doğru algılıyor ve sürekli kodları döndürüyor. Şimdi başka bir örnek yapalım; Burada eşit değildir işlecini kullandık ve python'a şöyle dedik: "Eğer kullanıcı m3hm3t cevabını girmezse sürekli yanlış cevap çıktısı ver". Biz programa müdahale edene kadar program "yanlış cevap" çıktısını vercektir. FOR DÖNGÜSÜ while döngüsünü anlatırken şu örneği vermiştik; Bu işlemi for dögüsü ve range fonksiyonu yardımıyla kolaylıkla yapabiliriz; burada bir "a" değişkeni kullandık ve python'a şöyle dedik: "1- 100 aralığındaki sayıların herbirine a adını verdikten sonra a'nın değerini yazdır". Python 1'den 100'e kdr olan bütün sayıları ekrana yazdırdı. Başka bir örnek yapalım; Burada ise bir "a" değişkeni kullandık ve python'a şöyle dedik: "wardom kelimesinin bütün harflerine a adını verdikten sonra a'nın değerini yazdır". Python wardom'un bütün harfleri alt alta yazdı. Bir önceki örnekte range fonksiyonunu gördük. Şimdi bu fonksiyonu açıklayalım: RANGE FONKSİYONU İngilizcede "aralık" anlamına gelen bu kelime pythonda sayı aralıklarını belirtmemizi sağlar. Mesela; print range(100) Hepsini görmek için tıklayın... komutu 0 ile 100 arasındaki sayıları yazdırmamızı sağlar. Başka bir örnek; print range(150, 200) Hepsini görmek için tıklayın... bu komutta 150 ile 200 arasındaki sayıları yazdırmamızı sağlar. print range(1, 50, 2) Hepsini görmek için tıklayın... bu komut ise 1 ile 50 arasındaki sayıları 2'şer 2'şer yazdırmamızı sağlar. Sanırım bu fonksiyonuda anlaşıldı. Şimdi len fonksiyonuna geçelim: LEN FONKSİYONU Bu fonksiyon, karakter dizilerinin uzunluğunu gösterir. Hemen bir örnek yapalım. a = "Denizli" print len Hepsini görmek için tıklayın... Burada "Denizli" karakter dizisi içindeki harfleri saydı ve 7 çıktısını verdi. Mesela bazı sistemlerde parola için uzunluk sınırlaması vardır. Bunun için hemen bir örnek verelim; Burada kullanıcıdan bir parola girmesini istedik. Kullanıcı 9 ve 9'dan büyük bir parola girerse program "Parola 8 karakteri geçmemeli" uyarısını vericek. Eğer aksi durumda yani 9 un altında bir karakter girerse program "Yeni parolanız kaydedildi" çıktısını vericek. Not: len fonksiyonu sadece karakter dizileri ile birlikte kullanılabilir. BREAK DEYİMİ break deyimi program içinde bir noktada programı sona erdirmek için kullanılır. Hemen bir örnek verelim; Burada "kullanici_adi" ve "parola" adlı 2 değişken tanımladık. "kullanici_adi" değişkenine "wardom", "parola" değişkenine ise "m3hm3t" değerleri verdik. Sonra "while True" ifadesi ile programımızın sürekli dönmesini sağladık. Ardından kullanıcıdan kullanıcı adını ve parolasını girmesini istedik. Eğer kullanıcı adını "wardom" parolasını ise "m3hm3t" olarak girerse "Girişiniz onaylandı..." çıktısını verdirdik ve "break" deyimi ile programı kapattık. Eğer kullanıcı adı ve parolayı başka birşey olarak girerse, kullanıcıya yanlış olduğunu belirttik ve tekrar denemesini istedik ve while true ifadesi ile programı başa döndürdük. Burada "and" işlecini gördük. "and" işleci "ve" anlamına geliyordu. Okulda mantık dersi görenler saten bunu hemen anlamıştır. Anlamayanlar için anlatayım. and ifadesi ile soru1 ve soru2 değişkenlerinin sadece ikisi bir doğru olursa "Girişiniz onaylandı..." yazdır ve programı kapat dedik. Eğer ikisinden biri yanlış olursa bir alt satıra yani else komutuna geçmesini söyledik. Sanırım buda anlaşıldı. Şimdi continue deyimine geçelim: CONTİNUE DEYİMİ Bu deyim ise döngü içinde kendisinden sonra gelen herşeyi es geçip döngünün en başına dönmesini sağlar. Hemen örnek verelim; Burada "while True" ifadesi ile bir döngü sağladık. Sonra kullanıcıdan parolasını girmesini istedik. Eğer kullanıcı "iptal" yazarsa döngü bozulacak ve program kapanacaktır. Bunu break deyimi ile sağladık. Ardından eğer kullanıcı 9'dan küçük karakterli şifre girerse döngü alttaki satırı görmeden başa dönecektir. Bunuda continue deyimi ile sağladık. Eğer kullanıcı 9 ve 9'dan fazla karakterli bir parola girerse program "En fazla 8 haneli parola girebilirsiniz. Lütfen tekrar deneyin!" çıktısını verip kodları başa döndürecektir. Bu dersimizde bu kadar arkadaşlar. Diğer derste kodları derlemesini yani. exe yapmasını ve python'u YOL'a eklemesini göstericem. Herkese iyi forumlar...