Python Öğreniyorum - Ders 5 - Kullanıcıyla İletişim

1 yorum

 raw_input() Fonksiyonu :

Kullanıcıyla iletişim şu şekilde oluyor. Mesela giriş yyapmayı sağlayan bir program yaptınız. Kullanıcı Adınız girin, Şifrenizi girin gibi. Bu tarz işlemleri yaparken raw_input() fonksiyonundan yararlanıyoruz. Yani kullanıcıya soru sorup, gelen cevaba göre hareket eden fonksiyonlara biz raw_input ve input fonskioyanları diyoruz.

Şu şekilde kullanılıyor.

raw_input("") yazıp enter a bastığımızda bizden bir cevap bekliyor. Ve biz mesela Python yazıp enter a bastığımızda. ekrana Python yazısı geliyor

raw_input("Lütfen Bir Sayı Giriniz : ")    ===>  Lütfen Bir Sayı Giriniz : 48
                                                                       '48'


Biz raw_input fonksiyonlarını stringlerde kullanırız. Yani çıkan 48 değeri bir string dir. Integer değildir. Integer olamasıda şu demek oluyor. Biz bu değer bir toplama çıkarma işleminde kullanamayız. Bir karakter dizisi olmuş oluyor.

Önceki derslerde gördüğümüz değişkenlere biz raw_input fonksiyonlarını atayabiliriz.

a = raw_input("Adınızı Giriniz : ")   ==>   Adınızı Giriniz : Çağrı

Biz şimdi "print a" yazarsak;

print a  ==> Çağrı     

Yani biz a değişkenine bir raw_input fonksiyonu atadık ve istediğimiz yerde kullanabilir hale geldik.

raw_input fonksiyonlarını integer larda değil string lerde kullanırız !

a = raw_input("Lütfen Bir Sayı Giriniz : ")   ==>    Lütfen Bir Sayı Giriniz : 5

Şimdi biz bu a değeri ile işlem yapmaya çalıştığımızda hata verecektir.

print a-2  ==>     Traceback (most recent call last):
                           File "<pyshell#3>", line 1, in <module>
                               print a-2
                           TypeError: unsupported operand type(s) for -: 'str' and 'int'



hata verecektir. Çünkü Python bunu stringer olarak algılıyor ve matematiksel işlem için geçerli olan integer değeri göremiyor.


Biz aynı a değerini    print int(a)-2    olarak yazarsak o zaman integer değeri olarak algılatabiliriz.

print int(a)-2  ==>   3

Başka bir örnek verelim :

a = raw_input("Parolanızı Girin : ")   ==>   Parolanızı Girin : Python

print "Parolanız : ", a   ==>   Parolanız :  Python           olarak çıktımızı alıyoruz.

print "Parolanız : %s" %a    ==>    Parolanız : Python

Raw_input fonksiyonuyla ilgili bahsedilecekler bu kadar. Şimdide input fonksiyonuna geçelim. input fonksiyonuda raw_input un aksine integer larla işlem yapma imkanı sunuyor. Tabi bunu yanında bir kaç tane daha değişiklikler var.


input() Fonksiyonu :

input()  yazıp enter diyelim ve harf yazalım. Sonuç olarak Python bize hata verecektir. Çünkü yukarıdada dediğimiz gibi input fonksiyonu integer larda kullanılır.

a = input("Lütfen Bir Sayı Giriniz : ")   ==> Lütfen Bir Sayı Giriniz : 81

print a  ==> 81

Şimdi biz bu 81 le işlem yapabiliriz. Çünkü artık integer değeridir. 

print  a - 2  == > 79

Başka bir örnek verelim :

1)
a = input("Lütfen Bir Sayı Giriniz : ")   ==>   Lütfen Bir Sayı Giriniz : 2

b = input("Lütfen Bir Sayı Giriniz : ")   ==>   Lütfen Bir Sayı Giriniz : 4
print a + b  ==>  6

2)
a = raw_input("Lütfen Bir Sayı Giriniz : ")   ==>   Lütfen Bir Sayı Giriniz : 2

b = raw_input("Lütfen Bir Sayı Giriniz : ")   ==>   Lütfen Bir Sayı Giriniz : 4
print a + b  ==>  24

Input fonkiyonunu kullandığımızda girdiğimiz sayıları toplama işlemi yapark ekrana yazdırdı.
raw_input fonksiyonunda ise toplama değilde birleştirme işlemini yaptı. 

raw_input fonksiyonunu biz integer lardada kullanmayı öğreneceiğiz. input() fonksiyonunu kullanmayı terccih etmiyoruz çünkü;

input("")   ==> 2*5 yazalım
sonuç olarak bize 10 verdi.  Ne kadar güzel gözüksede bu özellik, güvenlik açıkları oluşturaktadır. input("") yazdıktan sonra biz oraya istenmeyen kodlar yazıp bilgisayara zarar verecek durumlar oluşabilir. Bu yüzden input() fonksiyonu yerine raw_input() kullanacağız.


Dersleri Youtube'dan Erdem Kalyoncu'nun kanalından 
https://www.youtube.com/channel/UC7-vb1QhYrs4pnBQPAFKdXA
 adresinden görsel ve sesli olarak da takip edebilirsiniz.

1 yorum :