Python ile Kullanıcıdan Girdi Alma: “input ()”
Python, gömülü fonksiyonlarından biri olan input()
ile kullanıcıdan girdi alarak programlarınızı interaktif hale getirmenizi sağlar. Diyelim ki, kullanıcıya adını sormak istiyorsunuz. Bunu şu şekilde yapabiliriz:
name = input("Lütfen isminizi giriniz: ")
print(f"Merhaba, {name}!")
Yukarıdaki kodu çalıştırdığınızda, ekranda “Lütfen isminizi giriniz: ” mesajı belirecektir. Kullanıcı istenilen girdiyi klavyeden yazıp enter
tuşuna bastığında bu girdiyi name
değişkeninde saklayacak, “Merhaba, [girilen isim]!” şeklinde bir çıktı verecektir. Böylece, kullanıcıdan alınan veri dinamik bir şekilde programın içinde kullanılır ve kişiselleştirilmiş bir yanıt üretilir. İlgili butonu kullanarak deneyebilirsiniz.
“input()” Kullanırken Nelere Dikkat Etmeliyiz?
Python’da input()
fonksiyonuna kullanırken nelere dikkat etmemiz gerektiğini maddeler halinde derledim.
1. Bu özellik, Python’ın ilk sürümlerinden beri bulunmaktadır. Ancak Python 2.x sürümünde, kullanıcı girdisi almak için kullanılan fonksiyonun adı raw_input()
şeklindeydi. Python 3.x ile birlikte, fonksiyonun ismi input()
olarak değiştirilmiş ve standart hale getirilmiştir. Dolayısıyla, eğer Python 2 kullanıyorsanız raw_input()
, Python 3 kullanıyorsanız input()
fonksiyonunu kullanmalısınız. Aksi takdirde, hata alırsınız. Python öğrenmeye yeni başlamışsanız Python 3 kullanıyorsunuzdur zaten. Olur da eski Python kodlarına denk gelirseniz diye uyarmak istedim.
2. Geçelim bir diğer önemli noktaya. Python’da input()
fonksiyonu, kullanıcıdan aldığı her türlü girdiyi “string” (metin) olarak geri döndürür. Yani, kullanıcı klavyeden metin yerine sayısal bir veri girdiğinde, input()
fonksiyonu bu değeri string formatında size geri verir.
Bu nedenle, eğer kullanıcıdan sayısal bir değer alıp matematiksel işlemler yapmak istiyorsanız, aldığınız girdiyi uygun veri türüne (örneğin, int
veya float
) dönüştürmeniz gerekir. Aksi takdirde Python size, TypeError: can only concatenate str (not "int") to str
şeklinde bir hata mesajı verecektir. Örneği inceleyiniz:
enter_a_number = input("Bir sayı girin: ")
number = int(enter_a_number) # Girdiyi tam sayıya çeviriyoruz
print(f"{number} * 2 = {number * 2}") # f-string
Yukarıdaki örnekte “f-string” kullandım. “F-string”, Python 3.6 ile gelen bir özellik olup stringleri daha kolay ve okunabilir bir şekilde formatlamamızı sağlıyor. Özellikle değişkenleri doğrudan “string”in içine yerleştirmek için biçilmiş kaftan. Bunu yapmak için örnekte de görüleceği üzere “string”in başına f
harfini eklemeniz yeterli.
3. input()
fonksiyonu, kullanıcının bir giriş yapmasını bekler. Yani, program ilgili satırda duraklar ve kullanıcı bir şey yazıp enter
tuşuna basmadan çalışmaya devam etmez.
Eğer kullanıcı hiçbir şey girmeden sadece enter
tuşuna basarsa, input()
fonksiyonu boş bir string (""
) döndürür. Bu durumu kontrol ederek, kullanıcıya varsayılan bir değer atayabilir veya tekrar giriş yapması için uyarı verebilirsiniz. Örneğin:
isim = input("Lütfen isminizi giriniz: ")
if isim == "":
print("İsim girmediniz, varsayılan isim 'Misafir' olarak atanıyor.")
isim = "Misafir"
print(f"Merhaba, {isim}!")
Bu kodumuzda ise eğer kullanıcı boş bir giriş yaparsa program otomatik olarak “Misafir” ismini atar ve devam eder. Bu sayede kullanıcıdan geçerli bir giriş alınana kadar programı durdurabilir veya alternatif bir çözüm sunabilirsiniz.