You are on page 1of 7

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.

1 isim = input("İsminizi Giriniz :")


2 print(isim)
Çıktı

1 İsminizi Giriniz :Mustafa


2 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

1 sayi1 = input("Birinci sayıyı girin :")


2 sayi2 = input("İkinci sayıyı girin :")

4 topla = sayi1+sayi2
5 print("Toplam :",topla)
Çıktı

1 Birinci sayıyı girin :12


2 İkinci sayıyı girin :25
3 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  <class ‘str’> 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

1 sayi = 25

3 print("sayi değişkenin tipi",type(sayi))
Çıktı

1 sayi değişkenin tipi <class 'int'>


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

1 sayi =25
2 sayi= str(sayi)
3 print("sayi değşkenin tipi",type(sayi))
Çıktı

1 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;

1 rakamlar="1234567890"

3 print("rakamlar değişkenin tipi",type(rakamlar))

5 rakamlar = int(rakamlar)

7 print("rakamlar değişkenin tipi",type(rakamlar))
Çıktı

1 rakamlar değişkenin tipi <class 'str'>


2 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;

1 metin ="Mobilhanem.com"

3 metin = int(metin)
4 metin = "Mobilhanem.com"

6 metin = int(metin)
Çıktı

Traceback (most recent call last):


File “C:/Users/Cahit/Desktop/Mini/DD.py”, line 3, in <module>
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;

1 """
2 Dairenin Yarıçapını ve Alanını Hesaplayan program
3 """
4  
5 yari_cap = int(input("Dairenin yarıçapını giriniz :"))
6 pi = 3.14
7  
8 cevre = 2*pi*yari_cap # cevre hesapladık
9 alan = pi*(yari_cap**2) # alan hesapladık
10  
11 print("Dairenin Çevre Uzunluğu :",cevre)
12 print("Dairenin alanı :",alan)
Çıktı
1 Dairenin yarıçapını giriniz :12
2 Dairenin Çevre Uzunluğu : 75.36
3 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ı

1 Dairenin yarıçapını giriniz :12


2 Dairenin Çevre Uzunluğu : 75
3 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.

1 isim = input("İsminiz :")


2 yas = input("Yaşınız :")

4 print("Merhaba "+isim+" bey yaşınız "+yas+ " hala çok gençsiniz")
Çıktı

1 İsminiz :Mustafa
2 Yaşınız :21
3 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:

1 isim = input("İsminiz :")


2 yas = input("Yaşınız :")

4 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.

You might also like