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