Python Dersleri | Kullanıcıdan Bilgi Almak(input)

Python Dersleri | Kullanıcıdan Bilgi Almak(input)

Merhaba Arkadaşalar,

Mobilhanem.com da Python Dersleri serisinin bu dersinde Kullanıcıdan bilgi almay(input) ve tip dönüşümlerini inceleyeceğiz.
Python da şuana kadar dışarıya output işlemleri yani dışarıya aktarım işlemleri yaptık bu dersimizde ise dışarıdan bilgi almayı ve bu bilgiler ile bazı işlemler yapacağız. Peki bunu nasıl yapacağız adından da anlaşılacağı gibi bu işlemi input() fonksiyonu ile yapacağız bir önceki derslerimizde fonksiyon kavramına biraz giriş yapmıştık ve print() fonksiyonunu işlemiştik eğer o derse bakmadıysanız buradan ulaşabilirsiniz.

Kullanıcıdan Bilgi Alma input() :

input() fonksiyonu kullanımını en basitinden kullanıcıdan isim alarak gösterelim.

isim = input(“İsminizi Giriniz :”)
print(isim)

isim = input(“İsminizi Giriniz :”)

print(isim)

Çıktı

İsminizi Giriniz :Mustafa
Mustafa

İsminizi Giriniz :Mustafa

Mustafa

Yukarıdan görüldüğü gibi kullanıcıdan bir isim bilgisi aldık. Önceki derslerimizde işlediğimiz print() fonksiyonu ile aldığımız bilgiyi ekrana yazdırdık.
Örneğin kullanıcıdan iki sayı alalım ve bunları toplayalım

sayi1 = input(“Birinci sayıyı girin :”)
sayi2 = input(“İkinci sayıyı girin :”)

topla = sayi1+sayi2
print(“Toplam :”,topla)

sayi1 = input(“Birinci sayıyı girin :”)

sayi2 = input(“İkinci sayıyı girin :”)

 

topla = sayi1+sayi2

print(“Toplam :”,topla)

Çıktı

Birinci sayıyı girin :12
İkinci sayıyı girin :25
Toplam : 1225

Birinci sayıyı girin :12

İkinci sayıyı girin :25

Toplam : 1225

Görüldüğü gibi 1225 sonucu aldık aslında bu iki sayının toplamı değil 12 ve 25 sayılarının yan yana yazılışını verdi.

Yani String türünde aldı sayıları, peki biz Integer(tamsayı) türündeki verileri nasıl dışarıdan alacağız ve dışarıdan aldığımız yada işlem yaptığımız verinin en önemlisi türünü nasıl bileceğiz.

O zaman şöyle bir not düşelim hemen;

input() fonksiyonu ile sadece String(metinsel) veri türlerini kullanıcıdan alabiliyoruz.

İşte bu sorunu Öncesinde size bir type() fonksiyonundan bahsedelim.

type() fonksiyonu :

Bize verinin tipini veren fonksiyondur. Kullanımı nasıl hemen bakalım

veya

şeklinde metin değişkenin tipini aldık    str yani string  türünün kısaltması olduğunu verdi bize aynı şekilde diğer türleri de gösterelim;

Bir verinin türünü nasıl öğreneceğimizi öğrendiğimize göre şimdi tip dönüşümlerine geçelim.

İlk olarak Integer türünde ki veriyi String tipine dönüştürelim

sayi = 25

print(“sayi değişkenin tipi”,type(sayi))

sayi = 25

 

print(“sayi değişkenin tipi”,type(sayi))

Çıktı

sayi değişkenin tipi

sayi değişkenin tipi <class ‘int’>

gördüğünüz gibi verinin türü Integer

sayi =25
sayi= str(sayi)
print(“sayi değşkenin tipi”,type(sayi))

sayi =25

sayi= str(sayi)

print(“sayi değşkenin tipi”,type(sayi))

Çıktı

sayi değşkenin tipi

sayi değşkenin tipi <class ‘str’>

görüldüğü gibi sayı değişkeni artık bir Integer değil bir String değişken türü oldu.
Peki tam tersini yapabilir miyiz gösterelim hemen;

rakamlar=”1234567890″

print(“rakamlar değişkenin tipi”,type(rakamlar))

rakamlar = int(rakamlar)

print(“rakamlar değişkenin tipi”,type(rakamlar))

rakamlar=“1234567890”

 

print(“rakamlar değişkenin tipi”,type(rakamlar))

 

rakamlar = int(rakamlar)

 

print(“rakamlar değişkenin tipi”,type(rakamlar))

Çıktı

rakamlar değişkenin tipi
rakamlar değişkenin tipi

rakamlar değişkenin tipi <class ‘str’>

rakamlar değişkenin tipi <class ‘int’>

Görüldüğü gibi String türündeki verileri de Integer türüne dönüştürebiliyoruz peki bütün String türündeki veriler Integer türüne dönüştürebiliyor muyuz gösterelim hemen;

metin =”Mobilhanem.com”

metin = int(metin)
metin = “Mobilhanem.com”

metin = int(metin)

metin =“Mobilhanem.com”

 

metin = int(metin)

metin = “Mobilhanem.com”

 

metin = int(metin)

Çıktı

Traceback (most recent call last):
File “C:/Users/Cahit/Desktop/Mini/DD.py”, line 3, in
metin = int(metin)
ValueError: invalid literal for int() with base 10: ‘Mobilhanem.com’

Az çok İngilizce bilginiz varsa hatanın ne olduğunu hemen anlarsınız. Hata vermesinin sebebi girilen metin değişkeninin karakterleri Integer türü dışında karakter olduğu için hata verdi yani siz sadece [0-9] arasındaki karakterleri Integer türüne dönüştürebilirsiniz.

Dışarıdan veri almayı öğrendiğimize göre ufak bir örnek ile input() fonksiyonu konusunu bitirelim;

Dışarıdan dairenin yarıçapını alıp ona göre dairenin çevresini ve alanını hesaplayan uygulamayı yapalım;

“””
Dairenin Yarıçapını ve Alanını Hesaplayan program
“””

yari_cap = int(input(“Dairenin yarıçapını giriniz :”))
pi = 3.14

cevre = 2*pi*yari_cap # cevre hesapladık
alan = pi*(yari_cap**2) # alan hesapladık

print(“Dairenin Çevre Uzunluğu :”,cevre)
print(“Dairenin alanı :”,alan)

“”

Dairenin Yarıçapını ve Alanını Hesaplayan program

“”

 

yari_cap = int(input(“Dairenin yarıçapını giriniz :”))

pi = 3.14

 

cevre = 2*pi*yari_cap # cevre hesapladık

alan = pi*(yari_cap**2) # alan hesapladık

 

print(“Dairenin Çevre Uzunluğu :”,cevre)

print(“Dairenin alanı :”,alan)

Çıktı

Dairenin yarıçapını giriniz :12
Dairenin Çevre Uzunluğu : 75.36
Dairenin alanı : 452.16

Dairenin yarıçapını giriniz :12

Dairenin Çevre Uzunluğu : 75.36

Dairenin alanı : 452.16

Görüldüğü gibi Float türünde sonuçlar olduk istersek sadece tam kısmını yani Integer türünden alalım az önce gördüğümüz şekilde yapalım;

Çıktı

Dairenin yarıçapını giriniz :12
Dairenin Çevre Uzunluğu : 75
Dairenin alanı : 452

Dairenin yarıçapını giriniz :12

Dairenin Çevre Uzunluğu : 75

Dairenin alanı : 452

İstediğimiz sonucu aldık fakat burada dikkat etmeniz gereken bir nokta var Float türünden Integer türüne dönüştürünce veri kaybımız oldu buda iş hayatında bazı problemlere sebep olabilir. input() fonksiyonu kullanıcıdan bilgi almayı öğrendiğimize göre şimdi kullanıcıdan aldığımız bilgileri farklı şekilde işleyelim mesela kullanıcıdan aldığı bilgileri tekrar kullanıcıya farklı şekilde verelim.

isim = input(“İsminiz :”)
yas = input(“Yaşınız :”)

print(“Merhaba “+isim+” bey yaşınız “+yas+ ” hala çok gençsiniz”)

isim = input(“İsminiz :”)

yas = input(“Yaşınız :”)

 

print(“Merhaba “+isim+” bey yaşınız “+yas+ ” hala çok gençsiniz”)

Çıktı

İsminiz :Mustafa
Yaşınız :21
Merhaba Mustafa bey yaşınız 21 hala çok gençsiniz

İsminiz :Mustafa

Yaşınız :21

Merhaba Mustafa bey yaşınız 21 hala çok gençsiniz

Göründüğü gibi çıktıyı çok güzel şekilde aldık ama karakter dizisi oldukça karışık oldu. Ayrıca boşlukları falan ayarlamak oldukça zor oldu. Bunun için Python bize çok güzel bir imkan sağlıyor “format()” metodu hemen
kullanımına geçelim.

format() Metodu:

isim = input(“İsminiz :”)
yas = input(“Yaşınız :”)

print(“Merhaba {} bey yaşınız {} hala çok gençsiniz”.format(isim,yas))

isim = input(“İsminiz :”)

yas = input(“Yaşınız :”)

 

print(“Merhaba {} bey yaşınız {} hala çok gençsiniz”.format(isim,yas))

Aynı işi çok daha kolay ve sade bir şekilde yaptık format() metodu süslü parantezleri yerine sırasıyla aldığı parametreleri aldı ve burada dikkat etmemiz gereken şey; süslü parantez ile format() metodunun aldığı parametrelerin sıralaması aynı olması.

Mobilhanem.com da Python Dersleri serisinin bu dersinde Kullanıcıdan bilgi almayı tip dönüşümlerini type() ve format() metodunu öğrendik bir sonraki dersimiz Python ile Koşullu İfadeleri işleyeceğim. Anlamadığınız , eksik yada hatalı gördüğünüz olursa çekinmeden ulaşabilirsiniz size yardım etmekten mutluluk duyarım bir sonraki yazıda görüşmek üzere.

Bütün Python derslerine buradan ulaşabilirsiniz.

400

Yorum Yap
0 Yorum yapan