logo
25 NİSAN 2024

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

 
Nahit Taşpınar / diğer yazıları
' Saray'la müzakere edilmez, mücadele edilir'
Zamanlaması manidar uyarı
Kameranın âlâsı üretildi
Ambargolar ASELSAN'ı kamçıladı
Vergi böyle toplanmaz
Eski Bakan Çelebi'den sert eleştiriler
'Tüm Almanya seçimdeki büyük başarınızı biliyor'
Steinmeier, Yavaş'a böyle dedi
Trabzonspor'un eski başkanı vefat etti
Evinde ölü bulundu
Bakan'ın sözlerine tepki gösterdi
'Tam bir Düyûn-ı Umûmiye sistemi'
İlk 3 ayda harcamaları yüzde 120 arttı
CHP: Tasarruf Saray'dan başlasın
Pentagon'dan Irak'a: Bölgedeki ABD güçlerini koru
Hem işgalci, hem koruma istiyor!
Adalet Bakanı mesajı verdi
'DEM Parti kapatılabilir'
Fanatik Yahudiler Mescid-i Aksa'ya baskın düzenledi
Bilinçli olarak gerginliği tırmandırıyorlar
'Saray' ziyareti öncesi kritik randevu
Kılıçdaroğlu, Özel ile görüşecek mi?
ABD'li senatör, İsrail'e desteğe tepki gösterdi
"Artık yeter!"
6 gündür haber alınamıyordu, itfaiye içeri girince şaşırdı
Derin uykudan uyandı!
İsrail devlet televizyonu duyurdu
Ordu yakında Refah'a girecek!
'Orijinalini paylaşıyorum ki ahlaksızlığınız görülsün'
Montajlı fotoğraf polemiği
' Saray'la müzakere edilmez, mücadele edilir'
Zamanlaması manidar uyarı
Kameranın âlâsı üretildi
Ambargolar ASELSAN'ı kamçıladı
Vergi böyle toplanmaz
Eski Bakan Çelebi'den sert eleştiriler
'Tüm Almanya seçimdeki büyük başarınızı biliyor'
Steinmeier, Yavaş'a böyle dedi
Trabzonspor'un eski başkanı vefat etti
Evinde ölü bulundu
Bakan'ın sözlerine tepki gösterdi
'Tam bir Düyûn-ı Umûmiye sistemi'
İlk 3 ayda harcamaları yüzde 120 arttı
CHP: Tasarruf Saray'dan başlasın
Pentagon'dan Irak'a: Bölgedeki ABD güçlerini koru
Hem işgalci, hem koruma istiyor!
Adalet Bakanı mesajı verdi
'DEM Parti kapatılabilir'
Fanatik Yahudiler Mescid-i Aksa'ya baskın düzenledi
Bilinçli olarak gerginliği tırmandırıyorlar
'Saray' ziyareti öncesi kritik randevu
Kılıçdaroğlu, Özel ile görüşecek mi?
ABD'li senatör, İsrail'e desteğe tepki gösterdi
"Artık yeter!"
6 gündür haber alınamıyordu, itfaiye içeri girince şaşırdı
Derin uykudan uyandı!
İsrail devlet televizyonu duyurdu
Ordu yakında Refah'a girecek!
'Orijinalini paylaşıyorum ki ahlaksızlığınız görülsün'
Montajlı fotoğraf polemiği
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.