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.

İlgili Makaleler

2 Yorum

  1. Number=input(‘sayı giriniz’)
    İf Number = (1,2,3,4,5,6,7,8,9)
    Print(‘hoşgeldiniz’)
    Bunun gibi bir kod yazdım sorun
    Verdi yardım edebilirmisin kodlamamı geliştirmem lazım

    1. # Kullanıcıdan giriş alınıyor, fakat burada Türkçe tırnak işareti (‘ ’) yerine
      # Python’un desteklediği düz tırnak (” veya ‘) kullanılmalı.
      Number = input(‘sayı giriniz’) # HATA: ‘ ’ yerine ” ” veya ‘ ‘ kullanılmalı

      # “İf” yerine “if” kullanılmalı çünkü Python büyük/küçük harfe duyarlıdır.
      İf Number = (1,2,3,4,5,6,7,8,9): # HATA: “İf” yanlış, “if” olmalı

      # “=” atama operatörüdür, burada karşılaştırma yapmamız gerektiği için “==” kullanmalıyız.
      # Ayrıca, (1,2,3,4,5,6,7,8,9) bir tuple (demet) olduğu için bu şekilde karşılaştırma yanlış olur.
      # Doğru karşılaştırma için “in” kullanmalıyız.

      # print fonksiyonunun ilk harfi büyük yazılmış (Python case-sensitive, yani büyük/küçük harfe duyarlı)
      Print(‘hoşgeldiniz’) # HATA: “Print” yanlış, “print” olmalı

      # Kullanıcıdan bir giriş alınıyor ve bu giriş string olarak kaydediliyor.
      # input() fonksiyonu her zaman string döndürdüğü için, bunu tam sayıya çevirmemiz gerekiyor.
      number = int(input(“Bir sayı giriniz: “)) # input fonksiyonunda düzgün tırnak kullanıldı.

      # Kullanıcının girdiği sayının belirli bir liste içinde olup olmadığını kontrol ediyoruz.
      if number in [1, 2, 3, 4, 5, 6, 7, 8, 9]: # “if” doğru yazıldı ve liste içinde kontrol yapıldı.
      print(“Hoşgeldiniz!”) # print fonksiyonunun ilk harfi küçük yazıldı ve düzgün tırnak kullanıldı.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu