Input() Fonksiyonu ile Kullanıcıdan Veri Alma – 6. Ders

Program yazarken kullanıcıdan bir veri almak için input() fonksiyonunu kullanılır. Bu fonksiyon sayesinde programımız interaktif bir hal alır.

Mesela kullanıcıdan şu bilgileri alabiliriz:

Kullanıcı adı ve şifre,

Yaşı

Ders Notu

input("Lütfen adınızı giriniz: ")

Yukarıdaki kodu yazıp çalıştırdığımız zaman bilgisayarın konsol alanında aşağıdaki resimdeki gibi bir alan çıkar

Buradaki alana bir isim girmemizi ister. Buraya istediğimiz değeri girebiliriz.

Herhangi bir isim girip Enter’ e bastığımızda herhangi bir dönüt alamayız.

Çünkü gelen değerler herhangi bir işlem yaptırmadık.

Şimdi girilen değere göre kullanıcıya hoşgeldin diyelim.

isim=input("Lütfen adınızı giriniz: ")
print("Hoşgeldin", isim)

Bu defa ekrana aşağıdaki çıktıyı vermektedir.

Ben İsim olarak Ahmet yazdım. O da ekrana “Hoşgeldin Ahmet” diyerek cevap verdi.

Burada hangi değeri yazarsak yazalım programımız Hoşgeldin diyecektir.

Biraz da Matematik İşlemleri Yapalım

Şimdi de kullanıcıdan bir sayı isteyelim ve bu sayıyı 3 ile çarpıp ekrana yazdıralım.

sayi=input("Lütfen bir sayı giriniz: ")
sonuc = sayi * 3
print("Girmiş olduğunız sayının 3 katı", sonuc)

Programı çalıştırdığımda benden bir sayı girmemi istedi. Ben de 7 sayısını girdim ancak sonuç olarak bana 777 değerini gösterdi.

Şimdi bu durum nasıl oldu inceleyelim.

Normalde 7×3=21 değerini vermesi gerekiyordu.

Öncelikle type() fonksiyonu ile sayi değişkeninin tipine bakalım

sayi=input("Lütfen bir sayı giriniz: ")
print(type(sayi))

44 değerini girmeme rağmen değişken tipi olarak bana String (<class ‘str’>) değerini verdi. (Değişken tipleri için önceki yazıma bakabilirsiniz)

Demek ki input() fonksiyonun bize verdiği değer her zaman string bir değişken tipi.

Bu durumda nasıl matematik işlemi yapacağız?

Bunun için input ile gelen değeri sayıya çevirmemiz lazım. Bunun için python da çok kullanılan 2 adet fonksiyon vardır. Bunlar int() ve float() fonksiyonlarıdır.

int() fonksiyonu ile bir değeri tam sayıya, float() fonksiyonu ile de ondalık sayıya çevirebiliriz.

O zaman kodlarımızı int() fonksiyonu kullanarak tekrar düzenleyelim.

sayi=int(input("Lütfen bir sayı giriniz: "))
sonuc = sayi * 3
print("Girmiş olduğunız sayının 3 katı", sonuc)

Kodlardan da anlaşılacağı üzerre input() fonsiyonunu int() fonksiyonu ile sarmaladım. Böylece python a input ile gelen değerleri tam sayıya çevir diyoruz.

Aşağıda yeni kodlarımızın çıktısına baktığımızda 21 değerini aldığını görüyoruz.

Şimdi de kodlarımızı float() fonksiyonu kullanarak deneyelim.

sayi=float(input("Lütfen bir sayı giriniz: "))
sonuc = sayi * 3
print("Girmiş olduğunız sayının 3 katı", sonuc)

Burada ondalık sayı olduğu için sonua .0 değerini koyarak verdi.

Şimdi de 2 sayıyı toplayalım.

deger1 = int(input("Bir sayı giriniz: "))
deger2 = int(input("Lütfen diğer sayıyı giriniz: "))
toplam = deger1 + deger2
print("Toplam değer=", toplam)

NOT: Burada kullanılan yöntem hata vermeye müsait bir yöntemdir. Çünkü sayı yerine herhangi bir yazı yazdığımızda programımız hata verecektir.

Mesela ben sayı yerine ahmet yazdım

Programımız bu hatayı verdi. ahmet bir sayı olmadığı için int() fonksiyonu hata vermektedir.

Bunun önüne ileri konularda anlatacağım 2 yöntemden birisiyle geçebiliriz.

  1. yöntem girilen değerin sayı olup olmadığını önceden kontrol etmek
  2. yöntem hata denetimi yaparak (try catch)

Yayınlayan

Ahmet KADAK

Bilgisayar Öğretmeni & Bilgisayar Mühendisi

“Input() Fonksiyonu ile Kullanıcıdan Veri Alma – 6. Ders” üzerine 3 yorum

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.