logo
02 MAYIS 2024

Karşılaştırma ve "bool" veri tipi

29.01.2021 00:00:00
'Karşılaştırma ve "bool" veri tipi' seslendirme dosyası:

Merhabalar,

Şu ana kadar kabaca 4 işlem ve biraz fazlasını, print ve input komutlarını, değişken kavramını, int, float ve str türlerini, kare yahut diyez " # " işaretiyle kodumuzun içinde notlar alabileceğimiz, toplama işaretinin " + " hem sayıları, hem yazıları toplaya/ yapıştıra bildiğini, inputtan her zaman metin türünde bilgi geldiğini, sayılarla metinleri birbirine yine int, float ve str parantezine alarak dönüştürebileceğimizi gördük. Son olarak inputtan girilen bir değişkenle "kış" metnini "==" ile kıyaslayıp sonucuna göre bazı kodları çalıştıran if yapısından bahsettik. Bugün else ne işe yarıyor onunla başlıyoruz.

Örnek olarak, hesabında 900 lira olan birinin ATM den para çekmek istediğini düşünelim :

tutar = input ( "Çekmek istediğiniz tutar ")
if int(tutar) > 900 :
   print ("Bakiye yetersiz")
else :
   print ("İşleminiz yapılıyor..")

Bu koddaki en önemli yer if satırında yer alan ve karşılaştırmayı nasıl yapacağımızı Pythona anlatan büyüktür " > " işareti. tutar değişkenindeki sayı 900 den büyükse hemen alt satırdaki print komutu çalıştırılacak ve "Bakiye yetersiz" denecektir. Aksi takdirde else : satırından sonraki print komutu çalıştırılacak ve "İşleminiz yapılıyor" denecektir.

Eşitlik testini çift eşittir ile yaparken, büyüktür, küçüktür testini buradaki gibi normal büyüktür " > " ve küçüktür " < " sembolleriyle yapacağız, unutmuyoruz. İki nokta üstüste işaretinden sonraki print kodlarını biraz içerde yazmayı da unutmuyoruz.

Her zaman buradaki gibi iki durumlu karşılaştırmalar yeterli olmayabilir. Bu durumda da yardımımıza elif komutu yetişiyor. Günün saatine göre karşılama yapan bir kod düşünelim:

if saat < 10 :
   print ("Günaydın")
elif saat > 17 :
   print ("İyi akşamlar")
else :
   print ("İyi günler")

Takip edebiliyoruz değil mi. Varsayalım saat değişkeni kod çalıştırıldığı andaki zamanı gösteriyor. Eğer 10 dan küçükse sadece ilk if ten sonraki kod, 17 den büyükse sadece elif ten sonraki kod, bu iki koşul da tutmuyorsa yani saat 10 ile 17 arasındaysa, else ten sonraki print kodu çalışacaktır.

Biraz daha ileri bir konu ama yeri gelmişken bahsedelim, tek seferde birden fazla durumu kontrol etmek için and, or ve not terimlerini kullanmamız gerekiyor.

or ( VEYA ) işlemi

if (bugün=="cumartesi") or (bugün=="pazar") :
   print ("Sokağa çıkmıyoruz")

Bu kodda da varsayalım ki bugün değişkeninde kodun çalıştırıldığı gün bilgisi mevcut. Buradaki en önemli yer aradaki or kelimesi, zira print kodunun çalışmasının bütün mantığını burası belirliyor. bugün cumartesi VEYA pazarsa sokağa çıkmıyoruz. Mantıksal VEYA işleminin (or) geçerli olduğu bir test bu, yani sağdaki ve soldaki testlerden herhangi biri tutuyorsa olumlu sonuç alıyoruz. Zorunlu değiliz ama testlerin her birini parantez içine almak, kodu görsel olarak takip etmeyi kolaylaştırdığı için tavsiye edeceğimiz bir tarzdır.

and ( VE ) işlemi

if (hava=="soğuk") and (yağmur=="yağıyor") :
   print("Şemsiyenizi yanınıza alınız")

Burada ise hava sıcaklığını gösteren bir hava değişkeni ile yağmurun yağıp yağmadığını gösteren bir yağmur değişkeni kullanıyoruz. hava "soğuk" sa VE yağmur "yağıyor" ise print kodu çalıştırılacak. Mantıksal VE işleminde her iki koşul da aynı anda geçerliyse ancak olumlu sonuç alındığını hatırlayalım.

not ( DEĞİL ) işlemi

if (not ışıklar == "açık") :
   print("Işıkları açın")

Burada da ışıklar değişkeninin değeri "açık" DEĞİL print komutu çalıştırılacaktır. Aynı kodu " != " ile şu şekilde de yazabilirdik :

if (ışıklar != "açık") :
   print("Işıkları açın")

Tüm bu örneklerde Pythonun arkaplanda sürekli kullandığı veri tipine bool diyoruz. Nasıl ki int 1, 45, -126 gibi tamsayılarsa, float 0.5, 3.14 gibi ondalıklı sayılarsa ve str "elma", "yağıyor" gibi metinlerin veri tipiyse, bool da sadece tam olarak şu iki değeri alabilen veri tipi : True ve False. Aşağıda örnek olarak bazı basit bool işlemleri ve yanlarında # ile yorum olarak, çalıştırıldıklarında gelecek sonuçları yazalım:

print( 3 + 2 == 5 )     # True
print( 1200 > 3 )       # True
print( 3000 < 1 )       # False
print( not True )       # False
print( 1<10 and 5==5 )  # True

Değişkenlerin o anki değerlerine bağlı olarak karar veren kodlar yazmak programcılığın en önemli kısmıdır desek yanlış olmayacaktır. Bugün de biraz yüklendik ama temellerimiz sağlam olsun istiyoruz. Takıldığınız bir yer varsa bir önceki yazıyı ve bu yazıyı sakin kafayla tekrar bir gözden geçirmenizi tavsiye ederim. Tekrar görüşmek dileklerimle hoşçakalın.

Öğrendiklerimizi aşağıdaki online sitelerden herhangi birinde uygulamayı ihmal etmeyin :

programiz.com, repl.it, onlinegdb.com

 
Nahit Taşpınar / diğer yazıları
Tepkiler peş peşe geldi
1 Mayıs’ın kaybedeni Özgür Özel mi?
Özgür Özel'den Erdoğan görüşmesi öncesi kritik hamle
Eski genel başkanlarla görüştü
‘Benim adıma yalan uyduranlar benden sonra da çoğalacaktır'
Konu: Uydurma hadisler
Yasaklı 1 Mayıs'ın bilançosu açıklandı
210 kişi gözaltına alındı
İYİ Parti'de toplu istifa
İl yönetimi düştü
Dervişoğlu koltuğu Akşener'den devraldı
Karşılıklı jestler yapıldı
Yerlikaya'dan polislere teşekkür mesajı
'Sizlerle iftihar ediyorum'
Cesedi tarla sahibi tarafından bulundu
Köpek sürüsü parçaladı!
Konunun bir numaralı muhatabı cevapladı
Taksim inadı neden?
Barikatı aşmak isteyen gruplara müdahale edildi
Saraçhane'de polis müdahalesi
İstanbul'un enflasyonu nisanda yüzde 78.81'e yükseldi
Aylık artış yüzde 4.89
Taksim'e yürümek isteyen gruplara müdahale edildi
Birçok kişi gözaltına alındı
'Taksim özgürleşene kadar bu mücadele sürecek'
Özel'e de Taksim izni çıkmadı
Hak-İş'ten Taksim'de açıklama
Filistin bayraklı çelenk bırakıldı
Tepkiler peş peşe geldi
1 Mayıs’ın kaybedeni Özgür Özel mi?
Özgür Özel'den Erdoğan görüşmesi öncesi kritik hamle
Eski genel başkanlarla görüştü
‘Benim adıma yalan uyduranlar benden sonra da çoğalacaktır'
Konu: Uydurma hadisler
Yasaklı 1 Mayıs'ın bilançosu açıklandı
210 kişi gözaltına alındı
İYİ Parti'de toplu istifa
İl yönetimi düştü
Dervişoğlu koltuğu Akşener'den devraldı
Karşılıklı jestler yapıldı
Yerlikaya'dan polislere teşekkür mesajı
'Sizlerle iftihar ediyorum'
Cesedi tarla sahibi tarafından bulundu
Köpek sürüsü parçaladı!
Konunun bir numaralı muhatabı cevapladı
Taksim inadı neden?
Barikatı aşmak isteyen gruplara müdahale edildi
Saraçhane'de polis müdahalesi
İstanbul'un enflasyonu nisanda yüzde 78.81'e yükseldi
Aylık artış yüzde 4.89
Taksim'e yürümek isteyen gruplara müdahale edildi
Birçok kişi gözaltına alındı
'Taksim özgürleşene kadar bu mücadele sürecek'
Özel'e de Taksim izni çıkmadı
Hak-İş'ten Taksim'de açıklama
Filistin bayraklı çelenk bırakıldı
logo

Beşyol Mah. 502. Sok. No: 6/1
Küçükçekmece / İstanbul

Telefon: (212) 624 09 99
E-posta: internet@yenimesaj.com.tr gundogdu@yenimesaj.com.tr


WhatsApp iletişim: (542) 289 52 85


Tüm hakları Yeni Mesaj adına saklıdır: ©1996-2024

Yazılı izin alınmaksızın site içeriğinin fiziki veya elektronik ortamda kopyalanması, çoğaltılması, dağıtılması veya yeniden yayınlanması aksi belirtilmediği sürece yasal yükümlülük altına sokabilir. Daha fazla bilgi almak için telefon veya eposta ile irtibata geçilebilir. Yeni Mesaj Gazetesi'nde yer alan köşe yazıları sebebi ile ortaya çıkabilecek herhangi bir hukuksal, ekonomik, etik sorumluluk ilgili köşe yazarına ait olup Yeni Mesaj Gazetesi herhangi bir yükümlülük kabul etmez. Sözleşmesiz yazar, muhabir ve temsilcilere telif ödemesi yapılmaz.