Bu bölüm, karar verme yapıları hakkında bilgi edinmenize yardımcı olacaktır. Döngüler kullanarak, tekrarlanan görevleri nasıl gerçekleştireceğinizi öğreneceksiniz. Döngüler üzerinde daha fazla kontrol sahibi olabilmeniz için break, continue ve pass ifadelerini öğreneceksiniz.
Hayatımızın her anında plan yapmaktayız. Bunu yaparsam, o zaman geliştirici olacağım. Sınava hazırlanırsam başarılı olurum. Python'u öğrenirsem, projeler yapabilirim. Buna benzer belli bir koşula dayanarak hareket ettiğimiz birçok örnek var. Bazı durumlarda bir de B planımız olur. Örneğin, eğer mülakatta başarılı olursam, o zaman bu işe başlarım, yoksa başka bir işe bakacağım. Aynı şey programlamada da olur; mantığın eylemi duruma bağlıdır. Koşullu ifadeyi programlamada uygulamak için "if, else" yapısını kullanırız. Bir adımı birden çok kez tekrarlamak için döngüler kullanırız. Bu bölümde, Python'un desteklediği kontrol ifadeleri ve döngüler hakkında bilgi edineceğiz.
Koşullu İfade
Mantıkta bir koşul beklentisi olduğunda kontrol ifadelerini kullanırız. Kontrol ifadeleri bir programcının tüm yollar arasında belirli bir yol seçmesine izin verir. Aşağıdaki görsel kontrol ifadesinin temel bir örneğini göstermektedir. A > B ifadesi doğruysa, “TRUE” yolunu alır, aksi takdirde “FALSE” yolunu alır:
İf İfadesi
İf ifadesi aracılığıyla bir program kodun bir bölümüne dallanabilir veya atlanabilir.if condition : sequence of statements-1
print ("Hoşgeldiniz." ) Cevap = input("Lütfen adınızı giriniz \t") if Cevap == "Erhan": print ("..............................") print ("Hoşgeldin Erhan."
Yukarıdaki örnek dallanmayı göstermektedir; doğru adı yazarsanız, "if" ifadesi içerisine girersiniz ve bu alandaki kodlar çalıştırılır. Dallanma diyagramı aşağıdaki şekilde gösterilmektedir:
Yanlış ad yazarsanız, ‘if’ ifadesini atlar. 'İf' ifadesinden sonraki satırların "....." ve "Hoşgeldin Erhan." bölümlerinin girintili olduğunu gözlemlemiş olabilirsiniz. Satırı girintilediğinizde, bir blok haline gelir. Giriş dizesi "if" koşulunu karşılıyorsa bu blok yürütülür. Blok oluşturmak için "if" ifadesinin sonunda ":" kullanılır. ":" İfadesinden sonra yazılan tüm girintili satırlar bir blok oluşturur.
İf Else İfadesi
Yazdığımız program içerisinde iki alternatif işlem yapılması istenilen durumlarda kullanılır.if condition : sequence of statements-1 else: sequence of statements-2
Örnek;
print ("Hoşgeldiniz." ) Cevap = input("Lütfen adınızı giriniz \t") if Cevap =="Erhan": print ("..............................") print ("Hoşgeldin Erhan.") else : print("Erişim engellendi.")
Kullanıcının girdiği değer “Erhan” ise “if” bloğu yürütülür. Eğer kullanıcı "Erhan" dışında bir değer girerse, "else" bloğu yürütülür ve "Erişim engellendi." mesajı ekrana yazdırılır.
İf Elif Else İfadesi
Bazen, bir programda ikiden fazla alternatif eylemden oluşan birkaç test durumu vardır. Çok yönlü if ifadeleri, program doğru olana veya tümü yanlış olana karar verene kadar her koşulu inceler. Bir koşul Doğru olarak değerlendirildiğinde, koşula karşılık gelen kod blogu yürütülür. Hiçbir koşul sağlanmaz ise diğer else kod blogu yürütülür.
if condition-1: sequence of statements-1 elif condition-n: sequence of statements-n else: default sequence of statements
Bir not sistemini örnek olarak ele alalım. Aşağıdaki tabloda 1 ile 100 arasında değişen not karşılığı harf notu bulunmaktadır.
Harf | Not Karşılığı |
---|---|
A | 89 üzeri |
B | 79 üzeri, 90 aşağısı |
C | 69 üzeri, 80 aşağısı |
D | 70 aşağısı |
sinavSonucu = int(input("Lütfen sınav notunuzu giriniz \t")) if sinavSonucu > 89: harfNotu = 'A' elif sinavSonucu > 79: harfNotu = 'B' elif sinavSonucu > 69: harfNotu = 'C' else : harfNotu = 'D' print("Harf notunuz: ", harfNotu)
Range()
Python programlama dilinde kullanılan range() fonksiyonu başlangıç değeri, artış değeri ve bitiş değeri olmak üzere üç farklı parametre alan, bu parametrelere göre belli bir aralıkta ve belli bir artış miktarı ile tam sayı dizisi oluşturan yerleşik bir fonksiyondur.
range(başlangıç değeri, bitiş değeri, değerler arasındaki fark)
Örnek;
Microsoft Windows [Version 10.0.17763.1158] (c) 2018 Microsoft Corporation. Tüm hakları saklıdır. C:\Users\erhan>python Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 22:45:29) [MSC v.1916 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> range(1,30,1) range(1, 30) >>> list(range(1,10,1)) [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> list(range(10,1,-1)) [10, 9, 8, 7, 6, 5, 4, 3, 2] >>> list(range(10,1,-2)) [10, 8, 6, 4, 2] >>> list(range(10,1)) [] >>> list(range(1,15)) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] >>> list(range(-1,15)) [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] >>>
DÖNGÜLER
Bazen bir kod bloğunu birden çok kez yürütmeniz gerken bir durumla karşılaşabilirsiniz. Programlama dilleri, bir eylemi tekrarlayan döngüler adı verilen tekrar ifadeleriyle kontrol ifadeleri sağlar.
İki tür döngü vardır:
- Belirli döngü (define loop): Bu türde, eylem önceden tanımlanmış sayıda tekrarlanır.
- Belirsiz döngü(Indefine loop): Bu türde, program durması gerektiğini belirleyene kadar eylem tekrarlanır.
For döngüsü için örnek:
digits = [0, 1, 5] for i in digits: print(i) else: print("No items left.")
While döngüsü için örnek:
counter = 0 while counter < 3: print("Inside loop") counter = counter + 1 else: print("Inside else")
For Döngüsü
For döngüsü belirli sayıda tekrar gerektiren eylemlerde kullanılır.for <variable> in range(<an integer expression>): <statement-1 > <statement-n >
Yukarıdaki söz dizimi temel bir söz dizimi türüdür. Söz dizimi list, tuple, dictionary dizesi vb. kullandığımızda değişebilir. For döngüsünde kodun ilk satırına döngü başlığı denir. Bir tamsayı ifadesi, döngünün tekrar sayısını belirtir. İki nokta üst üste (:) döngü başlığını sonlandırır. Döngü üst bilgisinden sonra, gövde kalan kod satırlarındaki ifadelerden oluşur. Unutmayın, for döngüsü gövdesi girintili olmalıdır. For döngü gövdesindeki ifadeler, döngüden her geçişte sırayla yürütülür. Örnekler kullanarak for döngüsünün çalışmasını anlayalım.
Örnek: 0’dan 9’a kadar olan rakamları yazdırma
for each in range(10): print (each)
Her yineleme için, for döngüsü range() fonksiyonundan sonraki sayıyı ister, range() fonksiyonu bir sonraki değeri hesaplar ve bunu “each” değişkenine atar.
Örnek: For döngüsünde dize kullanımı
adSoyad = "Erhan SAYGILI" for each in adSoyad: print (each)
String, her bir yineleme için her karakteri “each” değişkenine atar.
While Döngüsü
Program yazarken bazı durumlarda bir programın kaç defa tekrar edileceğini bilemeyebilirsiniz. Döngü çalışmaya başladıktan sonra koşul tamamen gerçekleşip koşul durumu değiştiğinde döngü sonlanır. Bazı durumlarda ise sonsuz bir döngü kullanmak gerekir. Bu gibi durumlarda döngü içinde döngünün ne zaman sonlandıracağını belirlenmelidir.
while <condition>: <sequence of statements>
Örnek;
name = input("Lütfen adınızı giriniz : ") while name!="Erhan": print ("Erişim Reddedildi.") name = input("Lütfen isminizi doğru giriniz : ") print ("Hoşgeldin Erhan.")
While döngüsü için bir koşul kullandık. kullanıcıdan alınan isim bilgisi "Erhan" değerine eşit değilse koşul True olmakta ve program kodları yürütmek için while döngüsü içerisine girmektedir. Burada name kontrol değişkeni olarak kullanılır ve kullanıcı doğru değer girene kadar while döngüsü sayesinde kullanıcının adı sorulmaktadır. Kullanıcı tarafından doğru isim bilgisi girildiği anda döngüden çıkılarak program devam eden kodları çalıştırmaktadır.
break İfadesi
Program yazarken bazı durumlarda tekrar eden döngüyü sonlandırarak döngüden çıkılması gerekir. İşte bu noktada break ifadesini kullanırız. Bu ifade ile döngüyü yinelemenin herhangi bir noktasında kırarak/sonlandırarak döngüden çıkmamızı sağlar.Örnek: İlk n sayının toplamını bulun, toplan 100'den büyükse döngüyü durdurun.
sum = 0 num = int(input("Enter the number ")) for each in range(1,num): sum = sum+each if sum > 100: break print ("total number is ", sum)
Örnek: çalışma anında girilen sayıların toplamını bulma
sum1 = 0 while True: n = int(input("Enter the number to add :or press 0 to exit ")) sum1 = sum1 + n print ("sum1: ", sum1) if n ==0: break print ("Total is ", sum1)
Yukarıda girilen sayı 0 ise, yorumlayıcı döngüyü sonlandırmak için break deyimini çalıştırır.
continue İfadesi
Geçerli yinelemeyi atlamak için continue ifadesi kullanılır. Döngü sona ermez, ancak bir sonraki yinelemeyle devam eder.Örnek:
list1 = [1,2,3,0,4,5,0] for i in list1: if i == 0: continue c = 10/i*100 print ("Percentage is ", c)
Continue ifadesi ile söz konusu yineleme atlanarak bir sonraki adımdan devam edilir.
pass İfadesi
Program yazarken bazı durumlarda ileride kullanmak üzere bir döngüyü ayırmak istediğimiz durumlar olabilir. Döngü içerisine herhangi bir şey yazmadan boş bir şekilde döngü oluşturmak istediğimizde pass ifadesinden yararlanırız.
Örnek:
def dongu(): pass for each in [3,5]: pass
Yukarıdaki örneklerde, pass ifadesi bir gövde görevi görür ve hiçbir şey yapmaz.
Bu bölümde, karar almaya yardımcı olan koşullu ifadeler öğrendiniz. Python'da karar almak için if-else ve elif deyimini kullanıyoruz. Döngü, programın bir eylemi birçok kez tekrarlamasını kolaylaştırır. For döngüsü belirli bir döngü olarak kullanılırken while döngüsü genellikle belirsiz bir döngü olarak kullanılır.
إرسال تعليق
Yorum yaparak daha fazla bilgi paylaşılmasına yardımcı olabilirsiniz.