Kapat

merhaba değerli arkadaşlar.
bu yazımızda python bilgimizi biraz daha ileriye götüreceğiz ve kullanıcıdan bir takım veriler girmeyi ve bu verilerin işlenmesini sağlayacağız.
bu yazımızda bu işlemleri yapmak için iki fonksiyon öğreneceğiz.
bu iki fonksiyonu tüm özellikleri ile birlikte sizlere anlatacağım.
daha önceki python yazılarımı okuduysanız. bu yazıyı okumaya hazırsınız demektir.
bu yazımda iki fonksiyondan bahsedeceğimi söylemiştim.
bu fonksiyonlar:
raw_input() fonksiyonu ve input() fonksiyonudur.
şimdi bu fonksiyonları tek tek öğrenelim.
raw_input() fonksiyonu
bu fonksiyon ile kullanıcılardan veri giriş yapmasını isteyebiliriz.
şimdi bir örnek yaparak daha net ifade edebiliriz.
örnek:
#!/usr/bin/env python
Şimdi raw_input fonksiyonuyla kullanıcıdan bazı bilgiler alacağız. Mesela kullanıcıya bir şifre sorup kendisine teşekkür edelim...:
#!/usr/bin/env python raw_input("Lütfen parolanızı girin:") print "Teşekkürler!"
Python yazdığımız kodlar içindeki Türkçe karakterler nedeniyle bize bir uyarı mesajı gösterecektir. Bu uyarı mesajını görmek istemiyorsak, programımızın içine şöyle bir kod eklememiz gerekiyor:
# -*- coding: utf-8 -*-
Böylelikle kullandığımız karakter tipini Python'a tanıtmış oluyoruz. Programımızın en son hali şöyle olacak:
#!/usr/bin/env python
# -*- coding: utf-8 -*-raw_input("Lütfen parolanızı girin:") print "Teşekkürler!"
yazmış olduğumuz bu belgeyi kayıt ederek çalıştırın. sonucu göreceksiniz.
python deneme.py
yukarıdaki yapmış olduğumuz programı biraz geliştirelim üzerinde bir takım değişiklikler yapalım.
şu işlemlerin gerçekleştirilmesini sağlayacağız:
Program ilk çalıştırıldığında kullanıcıya parola sorsun
Kullanıcı parolasını girdikten sonra programımız kullanıcıya teşekkür etsin
Bir sonraki satırda kullanıcı tarafından girilen bu parola ekrana yazdırılsın
Kullanıcı daha sonraki satırda, parolanın yanlış olduğu konusunda uyarılsın Şimdi kodlarımızı yazmaya başlayabiliriz. Öncelikle yazacağımız kodlardan bağımsız olarak girmemiz gereken bilgileri ekleyelim:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
Şimdi raw_input fonksiyonuyla kullanıcıya parolasını soracağız. Ama isterseniz bu raw_input fonksiyonunu bir değişkene atayalım:
a = raw_input("Lütfen parolanızı girin:")
Şimdi kullanıcıya teşekkür ediyoruz:
print "Teşekkürler!"
Kullanıcı tarafından girilen parolayı ekrana yazdırmak için şu satırı ekliyoruz:
print a
Biraz önce raw_input fonksiyonunu neden bir değişkene atadığımızı anladınız sanırım. Bu sayede doğrudan "a" değişkenini çağırarak kullanıcının yazdığı şifreyi ekrana dökebiliyoruz.
Şimdi de kullanıcıya parolasının yanlış olduğunu bildireceğiz:
print "Ne yazık ki doğru parola bu değil"
Programımızın son hali şöyle olacak:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
a = raw_input("Lütfen parolanızı girin:") print "Teşekkürler!" print a
print "Ne yazık ki doğru parola bu değil"
İsterseniz son satırda şu değişikliği yapabiliriz: print "Ne yazık ki doğru parola", a, "değil"
Böylelikle, "a" değişkenini, yani kullanıcının yazdığı parolayı cümlemizin içine (ya da Python'ca ifade etmek gerekirse: "karakter dizisi içine") eklemiş olduk...
Bu "a" değişkenini karakter dizisi içine eklemenin başka bir yolu da kodu şu şekilde yazmaktır: print "Ne yazık ki doğru parola %s değil" %(a)
raw-input() fonksiyonunu bir kenara bırakalım, bahsetmiş olduğum bir diğer fonksiyonada bakalım.
ikinci fonksiyonumuzu yani input() fonksiyonunu ele alacağız birlikte.
input() fonksiyonu
Tıpkı raw_input fonksiyonunda olduğu gibi, bu komutla da kullanıcılardan bazı bilgileri alabiliyoruz. Şu basit örneğe bir bakalım:
örnek:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
a = input("Lütfen bir sayı girin:") b = input("Lütfen başka bir sayı daha girin:") print a + b
Kullanım açısından, görüldüğü gibi, raw_input() ve input() fonksiyonları birbirlerine çok benzer. Ama bunların arasında çok önemli bir fark vardır. Hemen yukarıda verilen kodları bir de raw_input() fonksiyonuyla yazmayı denersek bu fark çok açık bir şekilde ortaya çıkacaktır:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
a = raw_input("Lütfen bir sayı girin:") b = raw_input("Lütfen başka bir sayı daha girin:") print a + b
Bu kodları yazarken input() fonksiyonunu kullanırsak, kullanıcı tarafından girilen sayılar birbirleriyle toplanacaktır. Diyelim ki ilk girilen sayı 25, ikinci sayı ise 40. Programın sonunda elde edeceğimiz sayı 65 olacaktır.
Ancak bu kodları yazarken eğer raw_input() fonksiyonunu kullanırsak, girilen sayılar birbirleriyle toplanmayacak, sadece yan yana yazılacaklardır... Yani elde edeceğimiz sayı 2540 olacaktır.
Buradan çıkan sonuç şudur:
Yukarıda anlatılanlar, raw_input() fonksiyonunun, girilen verileri "karakter dizisi" (string) olarak; input() fonksiyonunun ise "tamsayı" (integer) olarak algıladığını gösteriyor.
Yani eğer biz programımız aracılığıyla kullanıcılardan bazı sayılar isteyeceksek ve eğer biz bu sayıları işleme sokacaksak (çıkarma, toplama, bölme gibi...) input fonksiyonunu kullanmamız gerekiyor. Ama eğer biz kullanıcılardan sayı değil de "kelime" veya başka bir ifadeyle "karakter dizisi" girmesini istiyorsak raw_input fonksiyonunu kullanacağız. Örneğin bir hesap makinesi programı yapacaksak kullanacağımız fonksiyon input fonksiyonu olmalı. Eğer burada raw_input fonksiyonunu kullanırsak hesap makinemiz istediğimiz gibi çalışmayacak, girilen sayıları birbirleriyle toplayamayacaktır. Tıpkı bunun gibi, eğer programımız aracılığıyla kullanıcının ismini soyismini öğreneceksek, bu işlem için de raw_input komutunu kullanmamız gerekiyor. Mesela aşağıda raw_input fonksiyonuyla yazdığımız kodları siz bir de input fonksiyonuyla yazmayı deneyin:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
a = raw_input("Lütfen isminizi yazın:") b = raw_input("Lütfen soyisminizi yazın:") print a + " " + b
Son kodu yazarken kullandığımız " " işaretinin amacı isim ve soyismi ekrana yazdırırken arada bir boşluk bırakmaktır... Aksi halde kullanıcı isim ve soyismini girdikten sonra bunlar ekranda birbirine bitişik olarak görünecektir.
Eğer bu kodları input fonksiyonuyla yazmayı denediyseniz, Python'un ilk veri girişinden sonra hata verdiğini görmüşsünüzdür. Python'un input fonksiyonuyla bu hatayı vermemesi için tek yol, kullanıcının ismini ve soyismini tırnak içinde yazması olacaktır... Ama tabii ki normal şartlarda kimseden ismini ve soyismini tırnak içinde yazmasını bekleyemezsiniz...
evet arkadaşlar. bu yazımızda burada bitti başka bir yazıda görüşmek üzre hoşçakalın.
iyi bloglar.

Bir önceki yazımız olan python'da değişken başlıklı makalemizde python değişken, python değişken oluşturma ve python'da değişken tanımlama hakkında bilgiler verilmektedir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

code


Kapat