logo
04 EYLÜL 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ı
Kritik davada karar
Hüseyin Baş'tan ilk açıklama
"Yapay zeka ürünü..'
MSB'den Anıtkabir açıklaması
UNRWA: Gazze'ye 6 aydır yardım ulaştıramıyoruz
Aileler temel ihtiyaçlardan yoksun bırakıldı
Çelik üreticilerinden ithalata karşı önlem talebi
"Haksız rekabete neden oluyor"
CHP lideri Özel'den Gürsel Tekin ile ilgili açıklama
"Biz tedbirli olarak disipline verdik"
'Acımasız savaşçılar oluruz'
Maduro'dan ABD'ye rest
Husiler İsrail hedefini hipersonik füzeyle vurdu
"Operasyon başarıyla sonuçlandı"
ABD'de kayıp Türk bilim insanı hapse atılmış
Bakanlığa ait laboratuvarda radyoaktif riskler tespit etmişti
Öldürülen Savcı Kayhan'ın cenazesi Adli Tıp'ta
Katil daha önce o restoranda garsonmuş
Trump-Harvard kavgasına ABD yargısı el koydu
"Fonların dondurulması anayasaya aykırı"
Halit Yukay'ın naaşı denizden çıkarıldı
4 Ağustos'tan bu yana aranıyordu
'Bu yetki gaspını tanımıyoruz'
Özel'den İstanbul resti
'Doğruları anlatmaya devam edeceğiz'
BTP lideri Hüseyin Baş hakim karşısına çıkıyor
Dikkat çeken görüşme gerçekleşti
Putin, Kim'le ne görüştü?
AB'ye içeriden sert eleştiri
'AB İsrail'e karşı başarısız'
Kritik davada karar
Hüseyin Baş'tan ilk açıklama
"Yapay zeka ürünü..'
MSB'den Anıtkabir açıklaması
UNRWA: Gazze'ye 6 aydır yardım ulaştıramıyoruz
Aileler temel ihtiyaçlardan yoksun bırakıldı
Çelik üreticilerinden ithalata karşı önlem talebi
"Haksız rekabete neden oluyor"
CHP lideri Özel'den Gürsel Tekin ile ilgili açıklama
"Biz tedbirli olarak disipline verdik"
'Acımasız savaşçılar oluruz'
Maduro'dan ABD'ye rest
Husiler İsrail hedefini hipersonik füzeyle vurdu
"Operasyon başarıyla sonuçlandı"
ABD'de kayıp Türk bilim insanı hapse atılmış
Bakanlığa ait laboratuvarda radyoaktif riskler tespit etmişti
Öldürülen Savcı Kayhan'ın cenazesi Adli Tıp'ta
Katil daha önce o restoranda garsonmuş
Trump-Harvard kavgasına ABD yargısı el koydu
"Fonların dondurulması anayasaya aykırı"
Halit Yukay'ın naaşı denizden çıkarıldı
4 Ağustos'tan bu yana aranıyordu
'Bu yetki gaspını tanımıyoruz'
Özel'den İstanbul resti
'Doğruları anlatmaya devam edeceğiz'
BTP lideri Hüseyin Baş hakim karşısına çıkıyor
Dikkat çeken görüşme gerçekleşti
Putin, Kim'le ne görüştü?
AB'ye içeriden sert eleştiri
'AB İsrail'e karşı başarısız'
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.