logo
02 MAYIS 2025

Bilgi alma ve kıyaslama

25.01.2021 00:00:00
'Bilgi alma ve kıyaslama' seslendirme dosyası:

Tekrar merhaba. Yine kısa bir özetle neler yaptık hatırlayalım. Şu ana kadar kabaca 4 işlem ve biraz fazlasını, print komutunun bazı yeteneklerini, sayılarımıza özel isim vererek onları depolayabildiğimiz değişkenleri, farklı kişiler için vücut kitle indeksi bulmayı, int, float ve str veri tiplerini, kodumuzun içinde her satırda kare # işaretinden sonra hatırlatıcı notlar yazmayı öğrendik.

Sayılarımız, her zaman kodun içinde hazır olmayabilir ve bazen kullanıcıdan da bilgi almamız gerekebilir. Bu durumda input komutunu kullanıyoruz. Gelin kullanıcıya adını sorup ona adıyla merhaba diyen minik bir kod yazalım:

	ad = input ( "Adınız : " )
	print ( "Merhaba " + ad )

Burada input komutu ekrana Adınız : yazıp bizim bir cevap vermemizi bekler. Yazılan metin her ne ise, = eşittir atama sembolüyle input komutundan onu alıp ad değişkenine koyarız. İkinci satırda printle ekrana Merhaba deyip bir de boşluk bırakarak, ad değişkenine az önce konan ismi, merhabanın yanına yazarız.

İkinci satırdaki + işareti farkettiyseniz sayıları değil bu sefer yazıları topluyor, yani yan yana yapıştırıyor. Toplama işaretinin bu metin yapıştırma özelliğini unutmayalım. Çok basit, sayı varsa onları toplar, metin varsa onları yapıştırır.

input komutu bizden aldığı her veriyi metin kabul eder. Bunu bilmemiz gerekli, zira inputla buradaki gibi metin değil de kilo, boy, yaş vs. sayısal bir bilgi aldığımızda onun sayı olduğunu düşünürsek hata yapmış oluruz. Bu nükteyi, verilen bir sayının bir fazlasını bulmak isteyen şu kodla anlamaya çalışalım :

	s = input ( "Bir sayı girin : " )
	print ( s + 1 )

Bu haliyle çalıştığında Python hata verir. Neden? Biz örneğin 5 yazsak bile input komutu onu tırnak içinde "5" olarak yani sayı olan 5 değil de metin olan "5" olarak alacağından, ikinci satırda sayı olan 5 e değil, metin olan "5" e 1 eklemeye çalışır ve kodumuz patlar!

Düzeltmek için inputtan gelen metin halindeki sayıyı gerçek bir sayıya dönüştürmemiz lazım. Bunu, metni bir paranteze alarak ve dönüştüreceğimiz türün kelimesini parantezin önüne koyarak yapıyoruz. Örnekler :

	int ( "5" )		# metin olan "5" tamsayı olan 5 e dönüşür
	float( "6.28" )	# metin olan "6.28" ondalıklı olan 6.28 sayısına dönüşür
	str (12.06)		# sayı olan 12.06, "12.06" metnine dönüşür

O halde yukarıdaki kodumuzun çalışan hali şu şekilde olmalıdır :

	s = input ( "Bir sayı girin : " )
	print ( int(s) + 1 )

Evet artık inputtan yine "5" geliyor ama int("5") onu sayı olan 5 e çevireceğinden Python hata vermeyecek ve 5 ile 1 i toplayabilecektir. Kafamız biraz karıştıysa, şöyle bir özetle toparlayalım :

	print( 5 + 5 )		# aritmetik toplama, sonuç 10 sayısı
	print( "5" + "5" )	# metin yapıştırma, sonuç "55" metni ;)
	print( 5 + "5" )	# farklı türlerde işlem yapamayız, sonuçta hata alırız!

Bugün son olarak, karar verme, kıyaslama yahut karşılaştırma işlerimizi yaparken kullanacağımız if komutuna bir bakalım. Örnek olarak ta kullanıcıya kar yağan mevsimi soran bir kod kullanalım :

	m = input("Hangi mevsimde kar yağar? ")
	if m == "kış":
		print( "Tebrikler" )
		print( "Doğru yanıt" )
	print( "İyi günler" )

Bu koddaki en önemli kısım iki tane yan yana eşittir "==" işareti. İlk satırdaki tek eşittir "=" ( atama ) işaretiyle kullanıcının cevabını "m" değişkenine alırken, ikinci satırda if komutundaki çift eşittirle bir karşılaştırma yapıyoruz. Python burada m değişkeniyle "kış" metnini karşılaştıracak. m değişkeninde ne vardı, ilk inputtan gelen kullanıcı yanıtı. O halde yanıt "kış" ise 3. ve 4. satırda başında biraz da boşluk olan, print komutları çalışacaktır.

if satırında en sondaki iki nokta üst üste işareti de ":" önemli, unutursak hata olur. Bir başka dikkatinizi çekmek istediğim şey, Pythonda girintili kodların bir birliktelik anlamı olduğu. Farkettiğiniz gibi tüm komutlar aynı hizadayken testin tutması halinde yapılmasını istediğimiz bütün işler biraz sağa doğru girintili yazılmış. Bunu da unutmuyoruz. Ve son print komutunun her halükarda (kullanıcı kış girse de girmese de) çalışacağını kaçırmayalım. Eğer kullanıcı doğru yanıt vermezse Pythondan göreceği tek tepki "iyi günler" olacak.

Eğer yanıta kış girilmezse ne yapılacağını else: kelimesiyle ifade edeceğiz. O da bir sonraki yazımıza kalsın. Tekrar görüşmek dileklerimle.

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

Kaynakça :
▪️ https://docs.python.org/3/tutorial/introduction.html

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

--
 
Nahit Taşpınar / diğer yazıları
Sağlıklı Bakanlığı 19 bin personel alacak
Resmi Gazetede yayımlandı
"Adil ve dengeli bir anlaşmada kararlıyız"
İran'dan "nükleer" müzakere mesajı
ABD'den Suriye yönetiminine çağrı
"Çatışmaları sonlandırın"
İsrail, Şara'nın sarayının yakınlarını vurdu
"Suriye rejimine açık bir mesaj"
Atatürk’ün hazırlattığı hutbeler
Herkes yaptığının cezasını bulacak
1 Mayıs gösterilerinde 384 kişi gözaltına alındı
İstanbul Valiliği açıkladı
Hocalı'da bir toplu mezar daha!
Katledilenlerin tamamı sivil
Kurum 'yok' dedi, Uraloğlu 'yapacağız' dedi
Bakanların Kanal İstanbul çelişkisi
Aylık yüzde 3,21, yıllık 47,21!
İstanbul'un nisan enflasyonu açıklandı
Silahlanma rekor seviyede!
Askeri harcamalarda son 36 yılın rekoru
'Emeğiyle yaşayan herkese saygıyla'
BTP lideri Hüseyin Baş'tan 1 Mayıs mesajı
Taksim'e gitmek isteyenlere polis müdahalesi
Çok sayıda kişi gözaltına alındı
Filistinlilere yardımı engelliyorlar
Kendileri için ‘yardım’ istiyorlar
Taksim kapatıldı
1 Mayıs alarmı
Kadıköy'de 1 Mayıs alarmı
Polis yoğun güvenlik önlemi aldı
Sağlıklı Bakanlığı 19 bin personel alacak
Resmi Gazetede yayımlandı
"Adil ve dengeli bir anlaşmada kararlıyız"
İran'dan "nükleer" müzakere mesajı
ABD'den Suriye yönetiminine çağrı
"Çatışmaları sonlandırın"
İsrail, Şara'nın sarayının yakınlarını vurdu
"Suriye rejimine açık bir mesaj"
Atatürk’ün hazırlattığı hutbeler
Herkes yaptığının cezasını bulacak
1 Mayıs gösterilerinde 384 kişi gözaltına alındı
İstanbul Valiliği açıkladı
Hocalı'da bir toplu mezar daha!
Katledilenlerin tamamı sivil
Kurum 'yok' dedi, Uraloğlu 'yapacağız' dedi
Bakanların Kanal İstanbul çelişkisi
Aylık yüzde 3,21, yıllık 47,21!
İstanbul'un nisan enflasyonu açıklandı
Silahlanma rekor seviyede!
Askeri harcamalarda son 36 yılın rekoru
'Emeğiyle yaşayan herkese saygıyla'
BTP lideri Hüseyin Baş'tan 1 Mayıs mesajı
Taksim'e gitmek isteyenlere polis müdahalesi
Çok sayıda kişi gözaltına alındı
Filistinlilere yardımı engelliyorlar
Kendileri için ‘yardım’ istiyorlar
Taksim kapatıldı
1 Mayıs alarmı
Kadıköy'de 1 Mayıs alarmı
Polis yoğun güvenlik önlemi aldı
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.