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ı.
İçindekiler
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şul | Bağlaç | 2. Koşul | Sonuç |
1 | and | 1 | 1 |
1 | and | 0 | 0 |
0 | and | 1 | 0 |
0 | and | 0 | 0 |
1. Koşul | Bağlaç | 2. Koşul | Sonuç |
1 | or | 1 | 1 |
1 | or | 0 | 1 |
0 | or | 1 | 1 |
0 | or | 0 | 0 |
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.
Python’da koşul sağlandığında bir Python scripti nasıl çalıştırılır?
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.