in

Python’da İf-Elif-Else Yapısı

Merhaba arkadaşlar,

Geçen derste karakter dizisi metotlarından birkaçını görmüştük. Bu ders ise if-elif-else yapısını görerek programlamaya resmi bir adım atmış olacağız.
Bundan sonra, programlarımızı script adı verilen dosya üzerinde yazarken gerek gördüğümüz durumlarda etkileşimli kabukta kod denemeleri yapacağız.

Python yüklerken yanında yüklenen bir dosya var. IDLE olarak adlandırılıyor. Bu dosyayı şurada bulabilirsiniz.

C:\Python36\Lib\idlelib\idle.pyw

IDLE’yi açalım. Şimdi yeni bir script dosyası açalım.

Menü bar > file >new file

Yolunu izleyelim veya sadece ctrl+n tuşlarına basalım. Gelen ekrana şunu yazalım:

print("Merhaba Dünya!")

F5 tuşuna basın. Python bize dosyayı kaydetmeden çalıştıramayacağını söylüyor. “Ok” deyip ekrana gelen yeni ekranda dosyamızın ismini ve nereye kaydedeceğimizi belirtiyoruz. Şuan için masaüstüne kaydetmeniz yararınıza olacaktır. Dosya ismimizi merhaba yapıp sonuna da .py ekleyelim. yani dosyamızın ismi merhaba.py olsun. “.py” eklememizin sebebi Python dosyalarının çalışabilmesi için “.py” veya “.pyw” gibi uzantılarla bitmesi gerekir.

Kaydettikten sonra etkileşimli kabuğa benzer bir şey açıldı. Aslında orası da etkileşimli kabuk. Gerçek etkileşimli kabuktan farkı, biraz daha yavaş olması.

Print() Fonksiyonu

Az önce kullandığımız print() fonksiyonuna biraz değinelim. print() fonksiyonu metotlarda da gördüğümüz gibi birden fazla parametre alabilen bir yapıdır. print() fonksiyonunun görevi ekrana bir şey yazmaktır. Parametre olarak bütün veri tiplerini alabilir. Hatta bütün parametreleri farklı bir veri tipi olabilir.

>>> print("donanimplus", ".com")
donanimplus .com

Parametreleri virgül ile ayırdığımıza dikkat edelim.

print() fonksiyonu içerisinde 2 veya daha fazla karakter dizisi kullanırsak bunları illa virgül ile ayırmak zorunda değiliz. Virgül ile yazarsak bir boşluk virgülün yerine gelir. İlk derste gördüğümüz gibi artı işaretini kullanarak karakter dizilerini birleştirerek ekrana yazdırabiliriz.

>>> print("donanimplus" + ".com")
donanimplus.com

Print fonksiyonu veri tipleri dışında da parametreler alabilir. Bunlar sep, file, end parametreleridir. Şimdi bu parametrelerin kullanımlarına bakalım. Dikkat ederseniz metotlarda olduğundan farklı bir parametre alış şekli var. Çünkü print() bir fonksiyondur metot değildir.

Sep parametresi

Print fonksiyonu içerisi yazdığımız ve ekrana yazmasını istediğimiz parametrelerin arasına geleceğini belirtmek için kullanılır. Eğer sep parametresi kullanılmazsa her bir veri arasına boşluk koyulur. Kullanımı şu şekildedir:

>>> print("donanimplus", "com", sep = ".")
donanimplus.com

End parametresi

End parametresi satırın nasıl biteceğini belirtir. Default’u “\n”dir. Yani yeni satır karakteridir.

>>> print("donanimplus", "com", end = "34")
donanimplus com34>>>

File parametresi

File parametresi print() fonksiyonu içerisinde bulunan verinin hangi dosyaya yazılacağını belirtmek için kullanılır. Şuan için sadece kullanımına dikkat edin yeterli. Çünkü dosya işlemlerini daha detaylı işleyeceğiz.

>>> dosya = open("donanimplus.txt", "w")
>>> print("donanimplus.com", file = dosya)
>>> dosya.close()

Etkileşimli kabuğu açtığınız yerde donanimplus adlı bir text dosyası oluşturup içerisine donanımplus.com yazdık.

İf yapısı

İf İngilizce’de ve programlamada eğer anlamına gelir. Koşul kontrolü yapar. Gerçek hayattan örnek verecek olursak; ülkemizde “B Sınıfı Otomobil” ehliyeti alma yaşı 18’dir. İf’in görevi ehliyet almak isteyen kişinin yaşının 18’e eşit veya 18’den daha fazla olup olmadığını kontrol etmektir. Şimdi bunu script dosyasında yazarak görelim.

yaş = 18
if yaş >= 18:
    print("Kişi ehliyet alabilir.")

F5’e basıp, dosyamızı kaydedelim ve çıktıyı kontrol edelim.

Koşul kısmı yani “yaş >= 15” yazımı önemlidir. Ortada bulunan işleç değişebilir.

İşleçAnlamıİşleçAnlamı
<Küçük mü?>=Büyük veya eşit mi?
>Büyük mü?<=Küçük veya eşit mi?
==Eşit mi?  

Burada en önemli kısım koşul kısmından sonra iki nokta kullanmak zorunda olduğumuzdur. İki nokta kullandıktan sonra enter tuşuna basarsak Python bundan bir alt satırda 1 tab’lık boşluk(4 boşluk karakteri) bırakması gerektiğini anlayacaktır. 1 tab boşluk olmasının sebebi dilin yazım şeklinin bu şekilde olmasıdır. Her programlama dilinin farklı bir yazım dili vardır. Ancak birisini öğrenirseniz diğer bütün programlama dillerini gayet kolay bir şekilde öğrenirsiiz. Konudan çok uzaklaşmadan genel bir if yapısı yazacak olursak;

İf koşul:
    Komut 1
    Komut 2

Şimdi kodumuzu şu şekilde yazalım:

a=25
if a < 100:
    print("verdiğiniz sayı 100'den küçüktür.")
if a < 50:
    print("verdiğiniz sayı 50'den küçüktür.")
if a == 100:
    print("verdiğiniz sayı 100'dür.")
if a > 100:
    print("verdiğiniz sayı 100'den büyüktür.")

Kodu çalıştırdığımızda 2 adet çıktı almış olmalıyız.

2 veya daha fazla if kullanıldığında ilk 1. if şartı kontrol edilir. Koşulun sağlanır veya sağlanmaz durumuna bakılmaksızın 2. if şartının kontrolü yapılır.

İf-elif yapısı

Eğer birden fazla kontrol yapmak istiyoruz ve herhangi bir şart sağlandığında diğer kontrollerin yapılmasını istemiyorsak if yapısı ile birlikte elif yapısını kullanırız. Kullanımı if ile aynı olup tek başına kullanılamaz. Yani en az bir adet if ile birlikte kullanılmalıdır.

a = 25
if a < 100:
    print("verdiğiniz sayı 100'den küçüktür.")
elif a < 50:
    print("verdiğiniz sayı 50'den küçüktür.")
elif a == 100:
    print("verdiğiniz sayı 100'dür.")
elif a > 100:
    print("verdiğiniz sayı 100'den büyüktür.")

Tek çıktı aldık. Burada 25, 100’den ve 50’den küçük olduğu halde birisinin çıktısı yazıldı. Çünkü kodumuzu elif ile yazdığımızda birinci kontrol yapılır eğer kontrol doğruysa diğer koşullara bakılmaz.

İf-else yapısı

if’in de bir default seçeneği var. “else” olarak adlandırılır kullanımı basittir.

a = 25
if a < 100:
    print("verdiğiniz sayı 100'den küçüktür.")
else:
    print("verdiğiniz sayı ya 100'den büyüktür ya da 100'e eşittir.")

Gördüğünüz gibi if’de koşul belirtirken else de koşul belirtmemize gerek yoktur. Eğer if’de ki koşul sağlanmaz ise if parselindeki komutlar işlenmez ve else parselindeki kodlar otomatik olarak işlenir.

Uygulama

Yazılan sayının tek mi çift mi olduğunu söyleyen program.

sayı = 45
if sayı//2 == 0:
    print("Sayı çifttir")
else:
    print("Sayı tektir.")

Tek satırda birden fazla koşul yazımı

a = 25
if a <= 100 and a//2 == 0:
    print("Sayı 100'den küçük bir çift sayıdır.")
elif a <= 100 and a//2 != 0:
    print("Sayı 100'den küçük bir tek sayıdır.")

if satırında iki koşulu and kelimesiyle birleştiriyoruz. “and” kullandığımız zaman 2 koşulun da sağlanması gerekir. Daha iyi anlamak için tabloya göz atalım. 1‘ler doğruları belirtirken 0‘lar yanlışları belirtiyor.

1. KoşulBağlaç2. KoşulSonuç
1and11
1and00
0and10
0and00

 

1. KoşulBağlaç2. KoşulSonuç
1or11
1or01
0or11
0or00

 

Bu dersin de sonuna geldik. Diğer derste liste veri tipini ve kullanıcıdan veri almamızı sağlayan input() fonksiyonunu inceleyeceğiz.

Sevgiler, saygılar sunarım.

Yorumlar (2)

Yorum Yap
    • Başka bir script’i programınızda çalıştırmak istiyorsanız,
      import script adı
      yazmanız yeterlidir. Çalıştırmak istediğiniz script modül değil ise içinde bulunan kodlar teker teker işlenir. Ancak şuna dikkat etmelisiniz: Yazdığınız program ile programınıza dahil etmek istediğiniz script aynı path üzerinde olmalıdır.

      Ayrıca çalıştırmak istediğiniz script modül ise içindeki fonksiyonları
      import modül adı
      ile kullanabilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Ücretsiz Bitcoin Kazanabilirsiniz! Freebitco.in Sitesi Nedir?

Hayat kurtaran 10 Kıyafet Hilesi Craft And Dıy