Sürekli söylediğim bir şey var: "Çıktıya baktığınızda...". Bir 'işin süreci' üç aşamadan oluşur. Bu aşamalar sırasıyla 'girdi - işlem - çıktı' yani 'input - process - output' şeklindedir. Burada, bahsettiğim 'çıktı' bizim output'umuz olurken 'girdi', yazdığımız kodlardır. Girdiğimiz kodlar, bir 'işlem'den geçerek bir 'çıktı' üretirler. Bu noktada biz, kullanıcıdan da bir 'girdi' alabilir ve kodlarımız ile bunu destekleyerek işlemden geçmesini ve bize bir 'çıktı' üretmesini sağlayabiliriz.
İşte, bu 'girdi alma' işlemine biz İngilizce'deki 'input' adını veriyoruz. Python'da ve diğer programlama dillerinde bu işlemi yapabiliyoruz. Zaten etkileşimli (interactive) kodlar, bu sayede oluşuyor. Örneğin sitemizde bulunan arama çubuğu, bir girdi bölümüdür. Örneğin siz, birine mesaj atarken mesajı yazdığını bölge bir girdi bölümüdür. İşte, biz de buna benzer şeyler yapacağız.
Bunu en basit hâliyle sağlamak için yapmanız gereken tek şey 'input' yazmaktır. Görelim.

Dikkat ederseniz; kodu çalıştırdığım zaman benden bir şeyler yazmamı bekliyor. İşte, input'un temel mantığı bu şekilde. Şimdi, biraz daha mantıklı şeyler yapalım. Örneğin ben, kullanıcıdan bir sayı girmesini istiyorum. Kullanıcı, bu sayıyı girdiğinde girdiği bu sayıyı da ekrana yazdırmak istiyorum.

Bakın benden bir sayı girmemi bekliyor.

99 sayısını girdiğimde aşağıda, girdiğim sayıyı yazdırdığını görüyorum. Bu basit kod parçası gayet güzel çalışıyor. Şimdi, kodumuzu inceleyelim.
Normal şartlarda biz, bir değişken tanımlarken önce değişkenin ismini yazar, bir eşittir operatörü kullanır ve değişkenin değerini yazardık. Ancak burada daha acayip bir yapı söz konusu. Değişken tanımlarken aslında Python'a şunu diyoruz: "x değişkeninin değeri y olsun". Bu noktada number = input() dediğimizde; "number değişkeninin değeri, girdi olarak alınsın." demiş oluyoruz. Buradaki mantık tamamen budur.
Ayrıca dikkat edelim; print("Lütfen bir sayı giriniz: ") ifadesi ile input("Lütfen bir sayı giriniz: ") ifadesi benziyor. print içerisinde ifadeler, ekrana sadece yazı yazdırmak içindir. Ancak input içerisindeki ifadeler, kullanıcının ne girmesi gerektiğini anlaması içindir. İlk ekran görüntüsünde sadece 'input()' yazmıştık ve bizden bir şeyler girmemiz beklendi. Ancak bizi, sadece siyah bir ekran karşılamıştı ve bu yüzden ne gireceğimizi bilemedik. Bu noktada input içerisine bir metin verdiğimizde kullanıcı, ne girmesi gerektiğini anlayacaktır. print ve input fonksiyonlarına verilen metinlerin farkı bu şekilde.
Hemen sonrasında print(number) şeklinde bir kod yazmışım. Bunun anlamını zaten biliyorsunuzdur. Burada kullanıcı, 99 değerini girdiğinde aslında number = 99 şeklinde bir tanımlama gerçekleşmiş oluyor. Bu tanımlama sonrasında print(number) dediğimizde aslında 99 değerini yazdırması gerektiğini anlıyoruz.
Peki, çıktımızı daha güzel bir duruma getirebilir miyiz?

Şimdi daha güzel oldu. Burada bir sayı giriyoruz çünkü bize bir sayı istendiği söyleniyor. Peki, yanlışlıkla da olsa metinsel bir ifade girersek ne olur?

Bakın, metinsel bir ifade girmeme rağmen bunu kabul etti. Ancak bunun olmaması gerekiyor. Bu noktada aklınıza hemen 'Type Conversion' konusu gelmeli. Eğer ne olduğunu bilmiyor veya hatırlamıyorsanız lütfen geri dönüp bakın.
Eğer ben, bu input fonksiyonunun sadece sayı almasını istersem 'int(input())' tarzında bir yapı kurabilir miyim? Bakalım.

Kırmızı ve yeşil oklara çok dikkat edin. Kırmızı oklarla gösterdiğim parantezler 'int()' ifadesine ait iken yeşil oklarla gösterdiğim parantezler, 'int()' içerisine girilen ve 'input()'a verilen metinsel ifadenin parantezleridir.
Biz, tip dönüştürme işlemini yaptık ve tekrar aynı şekilde metinsel bir ifade verdik. Karşımıza 'ValueError' hatası geldi. Yani bize şunu diyor: "Sen, bunun int bir değer alacağını söyledin ama bana string verdin." Şimdiye kadar öğrendiklerimizle bu hatayı yazdırmak yerine kullanıcıyı bilgilendirmeyi sağlayamayız. Bunun için ileride göreceğimiz 'try - except' konusunu beklemeniz lazım. Buradan kapmanız gereken şey; kullanıcıdan, istediğiniz şeyin ne olduğunu net olarak bilmek ve belirtmektir. Sayı istiyorsanız sayı girmesini sağlamak zorundasınızdır.
Bu noktada sadece int() değil, str() ve float() şeklinde kullanımlar da sağlayabilirsiniz. Bu, kullanıcıdan ne istediğinize göre değişecektir.
Son olarak, kullanıcıdan iki sayı alalım ve bunları toplayalım.

Bu yazının da sonuna geldik. İsterseniz, bir sonraki blogda yapacağımız uygulama için hazırlık yapabilirsiniz. Uygulamadaki amacımız, bir üniversite öğrencisinin bir dersten geçip geçmediğini ona söylemek olacaktır. Bunu yapmayı deneyebilir, yaptıklarınızı bizimle paylaşabilirsiniz. Uygulama hakkında size lazım olacak bilgiler aşağıdadır.
print("şartlı geçtin") tarzında bir şey yapmanız yeterli olacaktır.Yayınlanma Tarihi: 2022-10-24 20:50:01
Son Düzenleme Tarihi: 2022-10-27 16:18:12