• Girdi (input), bir kullanıcının program sorduğunda girdiği değerdir.
  • Bu durumda program, bir değer girilene kadar bekler.
  • raw_input – metinsel veriyi alır
  • input – sayısal veriyi alır

Raw_input()

print"İki Sayıyı Toplayan Program"
sayi1 =raw_input("Birinci Sayıyı Giriniz:")
sayi2 =raw_input("İkinci Sayıyı Giriniz:");
toplam =sayi1+sayi2
printtoplam

Bu programı çalıştırdıktan sonra 10 ve 15 değerlerini girerseniz şu şekilde bir çıktı ile karşılaşacaksınız.

İki Sayıyı Toplayan Program
Birinci Sayıyı Giriniz:10
İkinci Sayıyı Giriniz:15
1015
Gördüğünüz gibi biz programın iki sayıyı toplamasını isterken;program iki sayıyı yan yana ekleyerek ekrana yazdı. Buradan da anlayacağınız gibi raw_input() kullanıcı tarafından girilen bütün değerleri karakter dizisi olarak alır. Yani Python için girilen iki değer sayı değildir.Bu yüzden de iki karakter dizisini uç uca eklemiş oldu. Programın kod yapısını şu şekilde değiştirelim.
print"İki Sayıyı Toplayan Program"
sayi1 =raw_input("Birinci Sayıyı Giriniz:")
sayi2 =raw_input("İkinci Sayıyı Giriniz:");
toplam =int(sayi1)+int(sayi2)
printtoplam
Aynı değerleri bu program için girdiğinizde aşağıdaki gibi bir sonuçla karşılaşacaksınız.
İki Sayıyı Toplayan Program
Birinci Sayıyı Giriniz:10
İkinci Sayıyı Giriniz:15
25
Peki neden bu şekilde oldu? Eğer bu sorunun cevabı hakkında pek bir fikriniz yoksa;Değişkenler başlıklı yazıyı okumalısınız. Burada programın elinde bulunan karakter dizilerini sayıya çevirmesi için int() fonksiyonundan yararlandık. Şimdi bir de input() fonksiyonunu inceleyelim.

input() Fonksiyonu

Tıpkı raw_input() fonksiyonu gibi input() fonksiyonu da kullanıcıdan klavye aracılığıyla veri alınmasını sağlar. Az önce verdiğimiz örneği şimdi de input() ile yapmaya çalışalım.

print"İki Sayıyı Toplayan Program"
sayi1 =input("Birinci Sayıyı Giriniz:")
sayi2 =input("İkinci Sayıyı Giriniz:");
 
toplam =sayi1+sayi2
printtoplam
Bu programı çalıştırdığınız da şu şekilde bir sonuç alacaksınız.
İki Sayıyı Toplayan Program
Birinci Sayıyı Giriniz:10
İkinci Sayıyı Giriniz:15
25
Gördüğünüz gibi herhangi bir dönüştürme işlemi yapmadan input() fonksiyonu ile aldığımız değerleri matematiksel olarak toplayabildik. Buradan da anlaşılacağı gibi input() fonksiyonu aldığı değeri karakter dizisi olarak tutmaz. Gönderdiğimiz değerleri sayı olarak tuttuğu için dönüştürme işlemi yapmadan sayıları toplayabildik.

Dikkat !!! input() ile string değer almaya çalışırsanız aşağıdaki hatayı alırsınız.

 

biyazhata.PNG

 

Mustafa KAYNAKMustafa KAYNAK
News Reporter
Yazılım Mühendisiyle Teknolojiden Enstanteneler :D