Python Dersleri - Alıştırmalar

Hiç yorum yok
Bundan önceki derslerimizde Youtube'dan Erdem Kalyoncu'nun kanalından çalıştıpımı söylemiştim. Erdem arkadaşımız sesli ve görsel videolarını belli bir yerde bırakmış. Keşke bırakmasaydı. Çok güzel, sade ve basit bir şekilde anlatıyordu. Neyse artık tekrardan videoları yayınlamaya başlarsa tektrardan orayada bir göz atarız. Şimdilik internette bulduğum çokda güzel anlatılmış olan Python derslerine başlıyorum. Siz de isterseniz www.pythondersleri.com 'dan takip edebilirsinz. Yada benimle birlikte burada öğrenebilirsiniz.

Şimdiye kadar öğrenmiş olduklarımız ile ilgili olarak www.pythondersleri.com 'da güzel alıştırmalar öncelikle onları yapalım ve sonra derslerimize başlayalım.

Soru 1) Bir dersten geçme notu 50 olarak belirlenmiş olsun. Kullanıcıya notunu sorup dersten geçme-kalma durumunu ekrana yazan programı yazınız.

Cevap 1)

gecmenotu = 50
while True:
    girilennot = int(raw_input("Lütfen Notunuzu Giriniz : "))

    if 0 <= girilennot <= 100:
        if girilennot >= gecmenotu:
            print "Geçtiniz. Notunuz : ", girilennot
            break
        else:
            print "Kaldınız. Notunuz : ", girilennot
            break
    else:
        print "Lütfen Geçerli bir not giriniz !"
        continue



Soru 2) Bir öğrencinin 2 tane sınav notunu kullanıcıdan alıp ortalamasını bulunuz. 100'lük sistemdeki bu notu 5'lik sistemdeki nota dönüştüren programı yazınız. (0-24->0; 25-44->1; 45-54->2; 55-69->3; 70-84->4; 85-100->5)


Cevap 2)

# -*- coding: cp1254 -*-

while True:
    ilknot = int(raw_input("İlk notunuzu giriniz : "))
    ikincinot = int(raw_input("İkinci notunuzu giriniz : "))

    if 0 <= ilknot < 100 and 0 <= ikincinot <= 100:
        ortalama = (ilknot + ikincinot) / 2
        if 0 <= ortalama <= 24:
            AlinanNot = 0
        elif 25 <= ortalama <= 44:
            AlinanNot = 1
        elif 45 <= ortalama <= 54:
            AlinanNot = 2
        elif 55 <= ortalama <= 69:
            AlinanNot = 3
        elif 70 <= ortalama <= 84:
            AlinanNot = 4
        elif 85 <= ortalama <= 100:
            AlinanNot = 5
           
        print "Notlarınızın Ortalaması : ", ortalama, "Notunuz : ", AlinanNot
        break
    else:
        print "Notunuzu yanlış girdiniz. Lütfen tekrar deneyiniz."



Soru 3) Kullanıcının 1 ile 7 arasında bir sayı girmesini isteyiniz. Girilen sayının haftanın hangi günü olduğunu bulan programı yazınız. Hatalı girişlerde programın uyarı vermesini sağlayınız.

Cevap 3)
 
  # -*- coding: cp1254 -*-
while True:
    girilensayi = int(raw_input("Lütfen 1 ile 7 arasında bir sayı giriniz : "))

    if 1 <= girilensayi <= 7:
        if girilensayi == 1:
            print "Haftanın %s. Günü Pazartesidir." %girilensayi
        elif girilensayi == 2:
            print "Haftanın %s. Günü Salıdır." %girilensayi
        elif girilensayi == 3:
            print "Haftanın %s. Günü Çarşambadır." %girilensayi
        elif girilensayi == 4:
            print "Haftanın %s. Günü Perşembedir." %girilensayi
        elif girilensayi == 5:
            print "Haftanın %s. Günü Cumadır." %girilensayi
        elif girilensayi == 6:
            print "Haftanın %s. Günü Cumartesidir." %girilensayi
        elif girilensayi == 7:
            print "Haftanın %s. Günü Pazardır." %girilensayi
        break
    else:
        print "Lütfen geçerli bir sayı giriniz !"




Hiç yorum yok :

Yorum Gönderme

Python Öğreniyorum - Ders 16 - Python'da break ve continue Deyimleri

Hiç yorum yok

Python'da break ve continue deyimleri döngülerde bazı işlemleri yapmamızı sağlıyor.

break deyimi döngüyü sonlandırmaya, continue deyimi ise döngüyü başa sarmaya yarıyor.

Hemen bir örnek vererek bu iki deyimin nasıl ve ne işe yarar olduğunu açıklayalım.

while True:
    a = raw_input("Kullanıcı Adı : ")
    if a == "Python":
        print "Hoşgeldiniz"

Program bu haliyle sonsuza kadar bize Kullanıcı adını soracaktır. Biz eğer kullanıcı adımız doğru olursa sadece Hoşgeldiniz yazmasını ve tekrar Kullanıcı adını sormamasını isteyelim. Yani döngünün sonuna break deyimini koyalaım ve döngü sonlansın.

while True:
    a = raw_input("Kullanıcı Adı : ")
    if a == "Python":
        print "Hoşgeldiniz"
        break

break deyimi bu kadar arkadaşlar. Şimdi gelelim continue deyimine.

while True:
    a = raw_input("Kullanıcı Adı : ")
    if a == "Python":
        print "Hoşgeldiniz"
        break
    else:
        print "Giriş Hatası"

Yukarıdaki kodu çalıştırdğımızda ve kullanıcı adını yanlış girdiğimizde "Giriş Hatası" yazacaktır. Birde bunu continue ile deniyelim.


while True:
    a = raw_input("Kullanıcı Adı : ")
    if a == "Python":
        print "Hoşgeldiniz"
        break
    else:
        print "Giriş Hatası"
        continue

Yukarıdaki kodda yine aynı çıktıyı aldık. continue deyimini kullansakda kullanmasakda oluyor gibi düşünebilirsiniz. Fakat continue deyiminde şöyle bir şey vardır. Eğer biz continue deyiminden sonra bir şey yazmış olsaydık, Python onu görmeyecek ve continue deyiminden itibaren başa dönecek, döngüyü tekrar başlatacaktı. Örneğimizi şöyle daha anlaşılır yapalım.


while True:
    a = raw_input("Kullanıcı Adı : ")
    if a == "Python":
        print "Hoşgeldiniz"
        break
    else:
        print "Giriş Hatası"
    print " Merhaba Dünya"


Kullanıcı adımızı yanlış girdiğimizde çıktı olarak ;

Giriş Hatası
Merhaba Dünya


aldık. Peki print "Merhaba Dünya"continue'dan sonra yazsaydık.

while True:
    a = raw_input("Kullanıcı Adı : ")
    if a == "Python":
        print "Hoşgeldiniz"
        break
    else:
        print "Giriş Hatası"
        continue
    print " Merhaba Dünya"

Gördüğünüz gibi continue deyiminden sonra gelen print "Merhaba Dünya" ekrana yazılmadı. Yani continue deyimi döngüyü başa döndürdü.


while True:
    a = raw_input("Kullanıcı Adı : ")
    if a == "Python":
        print "Hoşgeldiniz"
        break
    else:
        print "Giriş Hatası"
        continue

 print " Merhaba Dünya"


Yukarıdaki örnekte print "Merhaba Dünya" yı tamamen kodun dışına yazdık dikkat ettiyseniz. Ve çalıştırdığımızda (kullanıcı adını yanlış girdiğimizde)  bize "Merhaba Dünya" çıktısını vermedi. Çünkü continue deyimi döngüyü devam ettiriyor ve döngüden çıkılmadğı içinde "Merhaba Dünya" yazılmıyor.  Döngüden çıkıldığı zaman print "Merhaba Dünya" kodu çalışacaktır.



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


Hiç yorum yok :

Yorum Gönderme

Python Öğreniyorum - Ders 15 - Python'da in İşleci

Hiç yorum yok
in işleci ingilizce'den de anlayacağınız üzere içinde demektir.  n = içinde

Şöyle bir kullanımı vardı;

for a in "Python":     burada in işlecini görmüştük.

Şimdide in işlecinin gerçekte nasıl kullanıldığını göreceğiz. Şöyle bir şey yapalım;

"P" in "Python"   yazdığımzda P karakter dizesi "Python karakter dizesinin içindemi diye bir soru sorarız Python'a. Cevap olarak da;

"P" in "Python"    ==>   True

"p" in "Python"    ==>   False      Hatırlarsanız büyük ve küçük harf Python'da aynı şeyler değildi. Büyük ve küçük harf ikiside ayrı bir karakter dizesi olurdu. O yüzdendi buradaki çıktımız "False" oldu.



"A" in "Python"    ==>  False      A harfi "Python" dizesinde olmadığından False çıktısı alındı.

"yt" in "Python"    ==>  True 

Peki biz bunları program içinde nasıl kullanırız ?  Hemen yeni bir proje açalım ve projemizde bunu gösterelim.

a = raw_input("Çıkmak istediğinize emin misiniz ? E - H :")

if "e" in a or "E" in a:
    print "Programdan Çıkılıyor."

 Yukarıda örnekte kullanıcaya çıkmak isteyip istemediğini sorduk ve Evet'se E'ye Hayır'sa H'ye basmasını söyledik.

Eğer "e" ve ya "E" yazılmışsa raw_input()'a o zaman "Programdan Çıkılıyor..." yazdırdık. Başka bir şey yazsaydık program bir şey yapmayacaktı. Sadece "e" ve "E" yazarsak çıktı vermesini istedik.



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

Hiç yorum yok :

Yorum Gönderme

Python Öğreniyorum - Ders 14 - Python'da Döngüler - for Döngüsü

Hiç yorum yok

for döngüsü şöyle bir örnkele açıklayalım;

for a in "Python":
    print a

for döngüsünü başlatmak için öncelikle for yazıyoruz.  Daha sonra bir değişken yazıyoruz. Daha sonra in diye bir bağlaç kullanıyoruz. En sonada döngünün elemanını yazıyoruz. while daki koşul gibi düşünebilirsiniz. Aynı anlama gelmiyor fakat ne anlama geldiğini birazdan açıklayacağız. Ve satır sonuna da  while ve if'lerdeki gibi iki nokta koymayı unutmuyoruz.

for döngüsünün amacı yazılan değişkenin(örnekte a) her seferde Yazılan elamanın(Örnekte "Python") öğresine eşitlemektir. Yani program başladğı anda a'nın değerini elamanın değerine eşitler. İlk olarak "Python" elemanında bulunan P harfine eşitler a'yı ve ikinci olarak "y" harfine eşitler. ve bu elelamnlar sayıları bitene kadar eşitlemeye devam eder. Çıktı olarakda aşağıdakini görürüz.

P
y
t
h
o
n



Birde for fonksiyonun farklı kullanış biçimleri vardır.

for a in range(0,100):
    print a
  


Yukarıdaki örneğin çıktısı 0'dan 99 'a kadar olan sayıları satır satır ekrana yazdırır.

for döngüsünün temel amacı bu şekildedir. İlerleyen derslerimizde bolca kullanacağımz bir döngüdür.



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

Hiç yorum yok :

Yorum Gönderme

Python Öğreniyorum - Ders 13 - Python'da Döngüler - len Fonksiyonu

Hiç yorum yok
 

len Fonksiyonu Nedir ?

len() fonksiyonu bir karakter dizesinin uzunluğunu belirlemekte kullanılır.  len() gibi bir kullanım şekli vardır. Parantezin içinede uzunluğunu belirlemek istediğimiz karakter dizesini yazarız.

len("Python")    ==>  6

a = "python"
len(a)    ==>   6


len fonksiyonları sadece karakter dizeleinde kullanılır. integer larda kullanılmaz.

a = 123456
len(a)    ==>     Traceback (most recent call last):
                           File "<pyshell#2>", line 1, in <module>
                             len(a)
                         TypeError: object of type 'int' has no len()


Gördüğünüz gibi integer larda kullandığımızda Python bize hata verdi. Ama illa ben integer kullanıcam derseniz veri dönüşüm tiplerinden yardım alabilirsiniz.

a = 123456
len(str(a))   ==>  6        Gördüğünüz gibi integer bir ifadeyi string e çevirdik ve karakter uzunluğunu bulduk.

Peki biz bunları nerede kullabiliriz. Örnekle bunu açıklayalım;

a = raw_input("Lütfen parolanızı giriniz : ")

if len(a) > 7:
    print "7 haneden fazla parola girmeyiniz."



Yukarıdaki örnekte girilen parola değeri eğer 7'den yükseke uyarı veriyor. len() fonksiyonlarını da bu şekilde kullabiliriz.



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

Hiç yorum yok :

Yorum Gönderme

Python Öğreniyorum - Ders 12 - Python'da Döngüler - range Fonksiyonu

Hiç yorum yok

range Fonksiyonu Nedir ?

range() fonksiyonun işlevi belirli aralıktaki yada belirli bir bitiş noktasındaki tam sayıları ekrana yazdırmaktır. 
Kullanımı şöyledir.

range()

Bu parantez içine 3 tane değer alabiliyor. Bu değerleri virgül ile ayırıyoruz.

range(100)   ==>    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]

range(10) yazdığımızda Python bize 0 ile 99 arasındaki sayıları ekrana yazdırır.

Normalde 0 ile 100 arasındaki sayıları söylerken 0'ı söylemeyiz fakat 100'ü söyleriz. Python'da ise bu tam tersidir. 0'ı yazdırır fakat 100' yazdırmaz. Buda dikkat etmemiz gereken bir noktadır.

range(1)  ==>   [0]


Parantez içine iki tanede sayı yazabiliriz.İk sayı başlangıç sayısıdır ve ikinci sayıda bitiş sayısıdır.

range(10,20)   ==>  [10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

range(0,100)   ==>  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]


Peki parantezin içindeki üçüncü değer ne oluyor derseniz, şöyle açıklayalım. Üçüncü değer kaçar kaçar yazdırılacağını söyler bize. Mesela; 0 ile 100 arasındaki sayıları ikişer ikişer yazdıralım;

range(0,100,2)    ==>    [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98]

range(0,100,1)   ==>    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]

Üçünü ifadenin başka bir kullanım şekli daha vardır. şimdi ona gelelim.

Biz 0 ile 100 arasındaki sayıları tersten yazdırmak istersek ne yapacağız.
Şöyle denesek ne olur:

range(100,0)   ==>    []

Gördüğünüz gibi Python bize bir boş küme olduğunu söyledi. O zaman üçüncü sayımızın yerine "-1" gibi bir ifade kullanırsak ne olduğna bakalım bir de;

range (100,0.-1)    ==>    [100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]


range (100,0, -2)   ==>   [100, 98, 96, 94, 92, 90, 88, 86, 84, 82, 80, 78, 76, 74, 72, 70, 68, 66, 64, 62, 60, 58, 56, 54, 52, 50, 48, 46, 44, 42, 40, 38, 36, 34, 32, 30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4, 2]



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

Hiç yorum yok :

Yorum Gönderme

Python Öğreniyorum - Ders 11 - Python'da Döngüler - while Döngüsü

Hiç yorum yok
 

İlk olarak while ne anlama gelir onu söyeleyerek başlıyalım. while türkçe olarak olduğu sürece olarak çevirebiliriz. Kullanım yapısı olarak if 'e benzemektedir.

if 'lerde şöyle yapıyorduk.

if a > 5   yani a 5'ten büyükse anlamına gelmekteydi.5
while a > 5   yani a, 5'ten büyük olduğu sürece anlamına gelmektedir. Ve bunun altına yazacağımız kodlar a 5'ten büyük olduğu sürece çalışır.

Yeni bir proje oluşturalım ve bir örnek yaparak açıklayalım;


a = 0
a = a + 1
print a     ==>  1

a diye bir değişkenimiz var ve bunun değerini 0 verelim. Tekrar alt satıra geçtik ve a' ya yeni bir değer verdik. Yani ilk başta Python a'yı 0 olarak gördü, ve alt satıra geçtiğine a'nın değeri 0 olduğundan 0 + 1 toplama işlemini yaparak a'nın yeni değerini 1 olarak kabul etti.

a = 0
while a < 100:
    a = a + 1
    print a

Yukarıdaki örnektede a'nın ilk değeri 0 ve a 100'den küçük oluncaya kadar devamlı başa dönüp ekrana yazdırıyor. a'nın değer eğer 100'den büyük olursa program çalışmayı durduruyor.


Birde while'ı şöyle kullanabiliriz;

a = 0
while True:
    a = a + 1
    print a

 Yukarıdaki örnekte yanlış bir ifade görene kadar döngü devam eder. İfadede bir yanlışlık göremeyeceği için döngü sonsuza kadar devam eder.

Peki biz while'ı nerelerde ve nasıl kullanırız.  Hemen bir örnek proje yapalım ve görelim.

a = 1
while a == 1:
    b = raw_input("Lütfen kullanıcı adınızı giriniz : ")
    if b == "Python":
        print "Giriş Başarılı"
        a = 2
    else:
        print "Lütfen giriş bilgilerinizi kontrol ediniz."


a =1 dememizin nedeni döngü a =1 olduğu sürec devam etsin istedik ve kullanıcıdan kullanıcı adı istedik. Eğer kullanıcı adı "Python" ise "Giriş Başarılı" yazdırdık vede a'yı 2'ye eşitleyerek döngüyü sonlandırdık.

Eğer girilen kullanıcı adı "Python" değilse döngüyü devam ettirdik.



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

Hiç yorum yok :

Yorum Gönderme

Python Öğreniyorum - Ders 10 - Python'da Hesap Makinesi

Hiç yorum yok

Bu dersimizde yeni bir konu öğrenmeyeceğiz. Şimdiye kadar öğrendiğimiz konuları kullanarak bir hesap makinesi yapacağız.

Programlamada bir programın nasıl çalışacağını anlatan şemaya algoritma adı verilir. Bizde ilk olarak hesap makinemizin algoritmasını oluşturalım. Ve programımızı yapalım.


# -*- coding: cp1254 -*-
from __future__ import division
print """

    Toplama (1)
    Çıkarma (2)
    Çarpma  (3)
    Bölme   (4)

"""

islem = raw_input("Lütfen yapmak istediğiniz işlemin numarasını yazın : ")

if islem == "1":
    toplama1 = int(raw_input("Lütfen toplama işlemi için ilk sayıyı giriniz : "))
    toplama2 = int(raw_input("Lütfen toplama işlemi için ikinci sayıyı giriniz : "))
    print toplama1, "+", toplama2, "=", toplama1 + toplama2
if islem == "2":
    cikarma1 = int(raw_input("Lütfen çıkarma işlemi için ilk sayıyı giriniz : "))
    cikarma2 = int(raw_input("Lütfen çıkarma işlemi için ikinci sayıyı giriniz : "))
    print cikarma1, "-", cikarma2, "=", cikarma1 - cikarma2
if islem == "3":
    carpma1 = int(raw_input("Lütfen çarpma işlemi için ilk sayıyı giriniz : "))
    carpma2 = int(raw_input("Lütfen çarpma işlemi için ikinci sayıyı giriniz : "))
    print carpma1, "x", carpma2, "=", carpma1 * carpma2
if islem == "4":
    bolme1 = int(raw_input("Lütfen bölme işlemi için ilk sayıyı giriniz : "))
    bolme2 = int(raw_input("Lütfen bölme işlemi için ikinci sayıyı giriniz : "))
    print bolme1, "/", bolme2, "=", bolme1 / bolme2


Hesap makinemizde bu kadar arkadaşlar. Bu hesap makinesi daha kolay bir şekildede yapılabilrdi. İlerleyen derslerde bunu göreceğiz. Hesap makinemizi ilerleyen derslerde geliştirmeye devam edeceğiz.


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

Hiç yorum yok :

Yorum Gönderme

Python Öğreniyorum - Ders 9 - Python'da Veri Tipleri Arası Dönüşümler

Hiç yorum yok
 

Bizi ilgilendire, şu ana kadar gördüğümüz 3 tane veri tipi vardı. Bunlar; integer(tam sayı), string(karakter dizisi), float(kayan noktalı sayı).

Hatırlarsanız 2.dersimizde şöyle bir örnek vermiştik.

5 / 2 yazdğımızda çıktısı 2 oluyordu. Sonuçta biz burada tam sayılarla işlem yapıyordur ve çıktı olarakda tam sayı elde ediyordur. Bunun üstesinden gelmenin 3 tane yolu vardı.

İlk olarak projenin başına   from _future_ import division    yazmaktı.
Diğer bir yolu ise sayılardan bir tanesini 5.0 gibi yazarak  kayan noktalı sayıya dönüştürmekti.
Diğer bir yolu ise float(5) fonksiyonun içine almaktı.

Öncelikle göstermek istediğim bir şey var.Type fonksiyonu verinin tipini belirler. Yani veri integer mı, string mi float mu onu söyler.

a = 5
type(a)   ==>  <type 'int'>     olarak bir çıktı veriyor bize Python. Yani buradaki int integer'nn int 'i.
Yani a'nın değer bir integer dır diyor.

a = "5"
type(a)  ==>  <type 'str'>   

a = "5"
type(a)  ==>  <type 'float'>
Biz veri tipi dönüşümlerinde buradaki kısaltmalaları temel alacağız.
Herhangi bir veriyi float'a dönüştürmek istersek float fonksiyonunu kullancağız.
Ya da herhangi bir veriyi integer'a dönüştürmeye çalışırsakda int fonksiyonunu kullancağız.

Hemen bir örnekle açıklayalım;

a = "5"
int(a)   ==> 5   a'nın  değeri normalde string iken biz başına int(a) yazdığımızda a'nın değeri sadece o  satırda kulllanılmak üzere integer oldu. Dikkat edilmesi gereken nokta. a halen daha string. Sadece int(a) kullanılan satırda integer oldu.

a = "5"
int(a) + 4    ==> 9   Normalde bir string le toplama işlemi yapılamazken biz onu int() fonksiyonu ile ineteger'a dönüştürdükten sonra artık toplama işlemi yapılabilir oldu.

string den integer'a dönüştürdük. Şimdide integer'dan string'e dönüştürelim.

a = 5
str(a)    ==>   '5'    Burada matematiksel işlem yaparsak hata verecektir. Çünkü bir string değeri ile matematiksel işlem yapılamaz.

Gelelim bunları nerede kullanacağımıza;

Hatırlarsanız input() fonskyonunundan bahsederken, input() fonksiyonun tehlikeli olduğunu hatta işletim sistemini çökertebilecek bazı kodlar bile yazılabileceğinden, kısacası güvenlik açıkları olan bir fonksiyon olduğunu söylemiştik.

O halde input() fonksiyonu kullanmayacaksak ve raw_input() fonksiyonu ilede matematiksel işlem yapamadığımza görede aklınızda ne ile matematiksel işlemler yaptıracağız diye bri soru uyanabilir.


Bu durumda imdadımıza int() fonksiyonu yetişiyor.


int(raw_input("Lütfen bir sayı giriniz : "))

int() fonksiyonunun içine raw_input() fonksiyonunu koyduk ve girilen değerin int olmasını sağladı. Eğer biz int() fonksiyonunu kullanmasaydık, girilen değer string olarak kalacaktı ve matematiksel işlem yapamaycaktık.

a = int(raw_input("Lütfen bir sayı giriniz : "))


Birde değinmek istediğim bir konuda şudur;


a = "elma"
int(a)   ==>  Traceback (most recent call last):
                       File "<pyshell#23>", line 1, in <module>
                            int(a)
                    ValueError: invalid literal for int() with base 10: 'elma' 


Biz her istediğimiz string'i de integer'a dönüştüremeyiz. Çünkü elma diye bir bir sayı yoktur. O yüzdende dönüştürme işlemi gerçekleşirken Python bize hata verdi.



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

Hiç yorum yok :

Yorum Gönderme

Python Öğreniyorum - Ders 8 - Bool Değerleri - True ve False - Mantıksal Operatörler

Hiç yorum yok

Bool Değerleri 

Bool, True ve False ikilisi anlamına gelmektedir.

Kod işlemi olarak bakıldığında bool() olarak kullanılır. Bir verinin değerini sorgulamaya yarar.

Hatırlarsanz geçen dersimizde şöyle bir şey yapmıştık.

a = 5
a == 5 ==> True  Burada 5 le 5 eşit olduğundan Python bize True çıktısını vermişti.

Şimdi bool değerini kullanara. a 'nın bir değeri olup olmaıdğını kontrol edelim.

a = 5
bool(a)   ==>   True    

a'nın bir değeri olduğu için Python bize True çıktısını verdi. Peki a'nın bir değeri olmasaydı;


a = ""

bool(a)  ==> False  a'nın bir değeri olmadığı için Python bize False çıktınısı verdi.

a = " "
bool(a)  ==> True  Burada a'nın değeri var çünkü boşluk da bir karakter dizisidir ve Python'a göre a'nın bir değeri vardır.

Peki biz bu bool değerini nerede kullanacağız. Hemen bir örnek verelim.

a = raw_input("Lütfen isminizi giriniz : ")

if bool(a) == True:
     print "Teşekkürler"

Yani dedik ki eğer a'nın değerine bir şey girildiyse Python bize "Teşekkürler" çıktısını versin. boşluk bile girsek çıktı olarak "Teşekkürler" yazacaktır.

Eğer bir şey yazılmazsa bize uyarı versin;

a = raw_input("Lütfen isminizi giriniz : ")

if bool(a) == True:
     print "Teşekkürler"
else:
    print "Lütfen bu bölümü boş bırakmayınız."


Mantıksal Operatörler

3 adet mantıksal operatörümüz bulunuyor. Bunlar and, or ve not bağlaçları.

and  ==> ve
or    ==> ve ya
not  ==> değil

and Bağlacı :

and bağlacını iki tane ifadenin arasına yazarız.

ve and bağlacının kullandığımız yerin sağındaki ve solundaki ifadede doğru ise çıktı True olacaktır. Eğer biri yanlış ise çıktımız False olacaktır.

True and False   ==>    False
True and True    ==>    True

Bir örnekle daha anlaşılır bir hale getirelim. Önceki dersimizde gördüğümüz puan hesaplama programını geliştirip onun üzerinde daha anlaşılır bir hale getirelim.

a = input("Lütfen puanınızı giriniz : ")

if a >= 25 and a <= 44:
    print "Notunuz 1."


Bu örnektede gördüğünüz gibi and bağlacının sağındaki ve solundaki ifadede doğru olması gerekiyorki bize koşulun tamamı doğru olsun ve print fonksiyonu çalışabilsin.


or Bağlacı :

veya anlamına gelmektedir. Kullanım olarak and bağlacıyla aynıdır. Fakat buradaki fark or bağlacnın sağındaki ve ya solundaki ifadelerden birinin doğru olması yeterlidir.

True or False   ==>  True
False or True   ==> True
False or False  ==>  False

Puan hesaplama örneğini eğer or bağlacına uyarlarsak;

a = input("Lütfen puanınızı giriniz : ")

if a >= 25 or a <= 44:
    print "Notunuz 1."
Burada biz değer olarak ne girersek girelim "Notunuz 1." olarak çıktı elde edeceğiz. Çünkü sağdaki ve soldaki ifadelerden birisinin doğru olması yeterli oluyor. Ne girersek girelim aynı çıktı elde edeceğiz.


not Bağlacı :

not bağlacı değil anlamına gelir.

not bağlacı and ve or bağlaçlarından biraz  farklıdır. Bir ifadenin bool değerinin tam tersini almamıza yarar.

Hatırlarsanız;

a = 5
bool(a)    ==>   True

Burada a'nın bir değeri olduğu için Python bize True değerini vermişti.

Peki a'nın nasıl değeri olmuyordu,

a = ""
bool(a)  ==>   False   

not bağlacıda bool değerinin tam tersini alacaktır.

not a   ==>   False
not bool(a)   ==> False

Bu ne işe yarayacak şimdi buna bakalım. 

a = raw_input("Lütfen isminizi giriniz : ")
if bool(a) == False:
    print "Bu alanı boş bırakamazsınız."

hatırlarsanız şöyle bir şey yapmıştık. Bunu daha kısa bir hale getirelim ve şöyle yazalım.


a = raw_input("Lütfen isminizi giriniz : ")
if not a:
    print "Bu alanı boş bırakamazsınız."

not bağlacı kısaca bool değerinin tam tersini almamıza yarıyor.





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

Hiç yorum yok :

Yorum Gönderme

Python Öğreniyorum - Ders 7 - Matematiksel ve Karşılaştırma Operatörleri

1 yorum

Bu dersimizin konusu operatörler. Bir kaç bölümde işleyeceğimiz bir ders olacak. İlk olarak Matematiksel operatörleri işleyeceğiz. Biz matematiksel operatörlerden ikinci dersimizde biraz bahsetmiştik.

Toplama, Çıkarma, Çarpma, Bölme, Kare alma operatörlerini ikinci dersimizde bahsetmiştik. Biz bunlara operatör değil. Bu işlemleri yapmaya yarayan işaretlere biz operatör deriz. Yani +, - , * , / ve ** operatörleri gibi.


Şimdi bu dersimizde daha önce görmediğimiz mod alma operatöründen bahsedeceğiz. Sembölü ise % işaretidir.


Matematiksel Operatörler

Mod Alma Nedir ?

Mod alma işlemi bize, bir bölme işleminde kalanın bize verilmesidir. Yani 13/2 dediğimizde, kalan 1 ise

13%2 işleminin sonucu 1'dir. Python'da da bunu yazarsak;

13 % 2  ==> 1    Python bize kalanı ekrana yazdı. Yani mod işlemini gerçekleştirdi.

12 % 2  ==> 0

5 % 3   ==> 2


Peki biz bunu nasıl kullanırız derseniz. Bir örnekle bunu açıklayalım.

a = input("Lütfen bir sayı giriniz : ")

if a % 2 == 0:
    print "Girdiğiniz sayı Çifttir."
else:
    print "Girdiğiniz sayı Tektir."

Örnektede gördüğünüz üzere girilen sayının 2'ye bölümünden kalan 0 ise Çifttir yazıyor. Eğer girilen sayının 2'ye bölümünden kalan var ise Tektir yazıyor.

Diğer matematiksel operatörlere değindiğimiz için şimdi onlara değinmeyeceğiz.  Şimdi karşılaştırma operatörlerine bakalım.


Karşılaştırma Operatörleri

Büyüktür, Küçüktür gibi operatörler bir karşılaştırma operatörüdürler. Toplam 6 tanedirler.
Bunlar; Büyüktür, Küçüktür, Büyük Eşittir, Küçük Eşittir, Eşittir, Eşit Değildir.

Büyüktür        ==>    ">"
Küçüktür       ==>     "<"
Büyük Eşittir  ==>     ">="  
Küçük Eşittir ==>     "<="
Eşittir             ==>    "=="
Eşit Değildir   ==>    "!="


Mesela;

a = 5
a == 5

dediğimizde Python bize True çıktısını verir. Bu şu anlama gelmektedir. a'yı biz 5 'e eşitledik ve sonrasında da a==5 yazdığımzda a'nın 5 e eşit olduğunu söyledik. Python'da bunu inceledi ve True değerini bize verdi.

a = 5
a < 6   ==>  True
a > 8   ==> False
a <= 5  ==> True
a != 6  ==> True
a !=5 ==> False

Şimdi bunları nasıl kullanabiliriz. Bunları görelim. Mesela not hesaplayan bir program yapabiliriz.

a = input("Lütfen puanınızı giriniz : ")

if a <= 24:
    print "Notunuz 0."
elif 25 <= a <= 44:
    print "Notunuz 1."
elif 45 <= a <=54:
    print "Notunuz 2."
elif 55 <= a <= 69:
    print "Notunuz 3."
elif 70 <= a <= 84:
    print "Notunuz 4."
elif 85 <= a <=100:
    print "Notunuz 5."



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 :

Yorum Gönderme