logo
22 HAZİRAN 2025

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

Yorumlar
Yorum bulunmuyor.
Yorumlarınızı paylaşın

--
 
Nahit Taşpınar / diğer yazıları
Molla Zübeyde Hanım’ın vasiyeti
Hangimizin böyle bir vasiyetnamesi vardır?
Tarihin en büyük veri sızıntısı
16 milyar şifre sızdırıldı
Cumhurbaşkanı Başdanışmanı Oktay Saral, "Suyun ısındı" demişti
Altaylı'dan haber alınamıyor
Savaşa dahil olma
İran'dan ABD'ye açık mesaj
ABD İran'a saldırıya dahil oluyor mu?
Dev savaş uçakları havalandı
Fatih Altaylı gözaltına alındı
Neden gözaltında?
Gazze'yi unutmayın, unutturmayın
Son 48 saatte 202 Müslüman daha katledildi
Türkçe bunalttı!
TYT'de Matematik zorladı
Ya intikam alırlarsa...
Almanya, İsrail korkusundan tır tır titriyor
İran Dışişleri Bakanı Erakçi, İstanbul'da konuştu
"ABD'nin bu saldırganlığa katılabileceğini duyduk"
Gazze'deki toplama kampları Hitler'inkinden beter
Netanyahu da Hitler gibi dünyayı ateşe atıyor
Bunun önüne geçmek için ne yapmak lazım?
Sıcaklar, elektrikli araçları zorluyor
Üniversite yolunda ilk sınav
Yaklaşık 2,5 milyon öğrenci katılıyor
"İsrail hepimiz için kirli iş yapıyor" demişti
Almanya Başbakanı hakkında suç duyurusu
Bazı ülkelerde büyükelçilerimiz değişti
Atama kararları Resmi Gazete'de
Molla Zübeyde Hanım’ın vasiyeti
Hangimizin böyle bir vasiyetnamesi vardır?
Tarihin en büyük veri sızıntısı
16 milyar şifre sızdırıldı
Cumhurbaşkanı Başdanışmanı Oktay Saral, "Suyun ısındı" demişti
Altaylı'dan haber alınamıyor
Savaşa dahil olma
İran'dan ABD'ye açık mesaj
ABD İran'a saldırıya dahil oluyor mu?
Dev savaş uçakları havalandı
Fatih Altaylı gözaltına alındı
Neden gözaltında?
Gazze'yi unutmayın, unutturmayın
Son 48 saatte 202 Müslüman daha katledildi
Türkçe bunalttı!
TYT'de Matematik zorladı
Ya intikam alırlarsa...
Almanya, İsrail korkusundan tır tır titriyor
İran Dışişleri Bakanı Erakçi, İstanbul'da konuştu
"ABD'nin bu saldırganlığa katılabileceğini duyduk"
Gazze'deki toplama kampları Hitler'inkinden beter
Netanyahu da Hitler gibi dünyayı ateşe atıyor
Bunun önüne geçmek için ne yapmak lazım?
Sıcaklar, elektrikli araçları zorluyor
Üniversite yolunda ilk sınav
Yaklaşık 2,5 milyon öğrenci katılıyor
"İsrail hepimiz için kirli iş yapıyor" demişti
Almanya Başbakanı hakkında suç duyurusu
Bazı ülkelerde büyükelçilerimiz değişti
Atama kararları Resmi Gazete'de
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-2025

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.