• Web sitemizin içeriğine ve tüm hizmetlerimize erişim sağlamak için Web sitemize kayıt olmalı ya da giriş yapmalısınız. Web sitemize üye olmak tamamen ücretsizdir.
  • Sohbetokey.com ile canlı okey oynamaya ne dersin? Hem sohbet et, hem mobil okey oyna!
  • Soru mu? Sorun mu? ''Bir Sorum Var?'' sistemimiz aktiftir. Paylaşın beraber çözüm üretelim.

Python KOŞUL İFADELERI

LeGoLaS

Onursal Üye
Üyelik Tarihi
1 Ağu 2008
Konular
4,885
Mesajlar
16,461
MFC Puanı
15,790



Koşul ifadeleri, program yazarken en çok başvurulan ifadelerden biridir. Bazen program içerisinde iki veya daha fazla ifadenin karşılaştırılması gerekebilir. Bu durumdan dolayı bütün programlama dillerinde karşılaştırma deyimleri mevcuttur. Bunun için Python'da if-else-elif deyimleri kullanılır. Ancak bazı programlama dillerinde bulunan switch-case yapısı Python'dabulunmamaktadır.
Koşul ifadelerine başlamadan önce Python dilindeki önemli bazı noktalara değinmek gerekir. C/C++ gibi dillerde yazılmış kodlarda bloklar { } içinde bulunur; ancak Python'da bloklar için belli bir işaret yoktur. Bunun yerine satırlarda girintileme uygulanır. Girintileme yapısı Python için büyük önem taşımaktadır.
Örneğin;
[COLOR=white !important]?
1
2
3
4
5
6
# !/usr/bin/env python
# -*- coding: utf-8 -*-

a = 7
if a == 7:
print ("Sayı 7'dir.")


şeklindeki kodu
[COLOR=white !important]?[/COLOR]​
1
2
3
4
5
6
# !/usr/bin/env python
# -*- coding: utf-8 -*-

a = 7
if a == 7:
print ("Sayı 7'dir.")


şeklinde yazamayız. Çalıştırılmak istendiğinde de hata verecektir. Girdi miktarının pek bir önemi yoktur; ancak program yazılırken bazı yerlerde "tab" tuşuna basarak, bazı yerlerde de "space" tuşuna basarak girinti vermek hatalara yol açabilir. Python IDE(Integreted Development Environment)'lerinin girinti için bıraktıkları sekme genişliği genellikle 4'tür. Kullanılan metin editörlerine sekme genişliği 4 olarak ayarlanabilir. Eğer yazılan kodlar birden fazla kişi tarafından düzenleniyorsa, ortak proje geliştiren kişilerin sekme ayarında belli bir kuralı benimsemeleri gerekir.


if Deyimi

"if" Türkçe'de "eğer" anlamına gelmektedir. Anlamından da anlaşıldığı gibi bu deyimle bir koşul belirtilir.
if yapısının akış diyagramı aşağıdaki şekildeki gibidir.

Python programlama dilinde bir if deyiminin yazılışı;
[COLOR=white !important]?[/COLOR]​
1
2
if koşul:
ifadeler


şeklindedir. Burada koşul "true" değer alıyorsa, yani koşul sağlanıyorsa blok kısmındaki ifadeler gerçekleşecektir. Eğer koşul "false" değer alıyorsa, yani koşul sağlanmıyorsa blok kısmındaki ifadeler gerçekleşmeden program devam edecektir.
Bir örnek verelim:
[COLOR=white !important]?[/COLOR]​
1
2
3
4
5
6
# !/usr/bin/env python
# -*- coding: utf-8 -*-

sayi = 7 # sayi diye bir değişken tanımlandı ve değeri 7
if sayi < 10: # sayi, 10'dan küçük mü diye sorgulanmakta
print ("Sayı 10'dan küçüktür.") # eğer sayi 10'dan küçükse ekrana "Sayı 10'dan küçüktür." yaz



elif Deyimi

Karşılaştırmalarda koşulların artması durumunda kullanacağımız terimlerden biri de elif deyimidir. elif deyimi, else if'in bir kısaltmasıdır.
Şöyle bir örnek üzerinden açıklamak gerekirse:
[COLOR=white !important]?[/COLOR]​
1
2
3
4
5
6
7
8
9
10
11
12
13
# !/usr/bin/env python
# -*- coding: utf-8 -*-

sayi = input ("Bir sayı giriniz:")

if sayi < 0:
print ("Sayı 0'dan küçüktür.")
elif sayi == 10:
print ("Sayı 10'dur.")
elif sayi > 5:
print ("Sayı 5'ten büyüktür.")
elif sayi > 10:
print ("Sayı 10'dan büyüktür.")


Bu kod çalıştırıldığında program koşulu sağlayan ilk ifadeyi bulduktan sonra blok kısmındaki işlemleri gerçekleştirecektir ve geriye kalan koşulları dikkate almayacaktır. Örneğin kullanıcı 10 girmişse çıktı şu şekilde olacaktır:
[COLOR=white !important]?[/COLOR]​
1
Sayı 10'dur.


Aynı kodu şu şekilde sadece if kullanarak yazsaydık:
[COLOR=white !important]?[/COLOR]​
1
2
3
4
5
6
7
8
9
10
11
12
13
# !/usr/bin/env python
# -*- coding: utf-8 -*-

sayi = input ("Bir sayı giriniz:")

if sayi < 0:
print ("Sayı 0'dan küçüktür.")
if sayi == 10:
print ("Sayı 10'dur.")
if sayi > 5:
print ("Sayı 5'ten büyüktür.")
if sayi > 10:
print ("Sayı 10'dan büyüktür.")


Bu durumda program bütün koşulları tek tek sorgulayacaktır. Kullanıcının yine 10 girdiğini varsayarak bu durumda da ekran çıktısı şu şekilde olurdu:
[COLOR=white !important]?[/COLOR]​
1
2
Sayı 10'dur.
Sayı 5'ten büyüktür.


Bu yüzden if-elif kullanımı önemlidir.

else Deyimi

else deyimi, if ve elif deyimleri ile kombine çalışır. else, if ve elif deyimlerindeki koşulların sağlanmadığı bütün durumları kapsar. else deyiminin akış diyagramı aşağıdaki şekildeki gibidir.

else deyimi isteğe bağlı bir ifadedir ve if-elif bloklarıyla birlikte sadece bir kez kullanılır.
Python dilinde else deyiminin yazılışı;
[COLOR=white !important]?[/COLOR]​
1
2
3
4
if koşul:
ifadeler
else:
ifadeler


şeklindedir. Koşul ifadeleri iç içe de kullanılabilir.
Bütün bu bahsettiklerimizi bir örnek üzerinde göstermek gerekirse:
[COLOR=white !important]?[/COLOR]​
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# !/usr/bin/env python
# -*- coding: utf-8 -*-

sayi = input("Bir sayı giriniz:") # Kullanıcıdan bir sayı girmesi isteniyor

if sayi > 0: # Girilen sayı 0'dan büyük ise
print ("Sayı pozitiftir.")
if sayi % 2 == 0: # Sayı 0'dan büyük ve çift olması durumu
print ("Sayı çifttir.")
else: # Sayı 0'dan büyük ve tek olması durumu
print ("Sayı tektir.")
elif sayi < 0: # Girilen sayı 0'dan küçük ise
print ("Sayı negatiftir.")
else: # Sayının 0 olma durumu (if ve elif durumlarının dışında kalan bütün durumlar)
print ("Sayı sıfırdır.")




bool Deyimi

Şimdi de biraz bool kavramından bahsedelim. Nedir bu bool denilen şey?
Bilgisayar bilimi temelde 0 ve 1 değerleri üzerine kurulmuştur. Yani 0 değeri False(Yanlış), 1 değeri True(Doğru) demektir. Bu değerlere boolean değerler denir. Bu isim İngiliz matematikçi George Boole'dan dolayı verilmiştir.

Bool değerlerin büyük harfle başlamaları Python açısından önemlidir. Bu değerler karşılaştırma ifadeleri sonucunda oluşurlar. Bool değerler sadece doğruluk-yanlışlık sorgulaması yapmazlar. Bilgisayarda her şeyin bir bool değeri vardır.
Buraya kadar bahsettiklerimizi örneklerle gösterelim:
[COLOR=white !important]?[/COLOR]​
1
2
3
4
5
6
7
8
9
10
11
12
>>> bool(5)
True
>>> bool("Uygar")
True
>>> bool(" ")
True
>>> bool("")
False
>>> bool("0")
True
>>> bool(0)
False


Kodlarda da görüldüğü gibi 0 sayısı ve boş karakter dizisi False'tur. Geriye kalan her şey True olur.
NOT: Burada ("0") bir string, (0) ise bir integer değerdir.




KAYNAKLAR

http://www.tutorialspoint.com/python/python_decision_making.htm
http://www.tutorialspoint.com/python/python_if_statement.htm
http://www.tutorialspoint.com/python/python_if_else.htm
http://www.tutorialspoint.com/python/nested_if_statements_in_python.htm
http://www.istihza.com/py2/kosul.html
http://belgeler.istihza.com/py3/kosul_deyimleri.html
http://www.alperocalan.com/Yazi.aspx?y=11&yazi=Python’da-Kosul-Deyimleri
http://yzgrafik.ege.edu.tr/~tekrei/dersler/bbgd_p/ch04.xhtml
http://www.istihza.com/py2/ayrintilar.html



[/COLOR]
 
Üst