PROGRAMLAMA DERSLERİ PYTHON 9
PYTHON'DA SEÇİMLİ YAPILAR
Bir programın yapısı ilk satırdan son satıra doğru sırası ile adım adım gerçekleşse de bazı öyle durumlar karşımıza çıkar ki bu durumda programın akışı değişebilir. Çok eski tasarımlarda programlar bir satırdan bambaşka bir satıra zıplarken güncel yazılımlarda bu tür bir dallanma bir blok içinde çözülür ve program kaldığı yerden devam eder.
Karar yapılarında bir şarta bağlı olarak iki ya da daha faza seçenekten biri seçilir ve o işlem gerçekleştirilir. Python’da 3 adet seçim işlemi gerçekleştiren yapı vardır.
“if”, “if else” ve “if – elif else”
IF
Koşula bağlı olarak tek bir opsiyonun gerçekleştirildiği yapıdır. Örneğin; “ışık kırmızı ise dur.”
Tek seçimli if yapısında koşul doğru (True) ise işlem yapılır değilse işlem yapılmaz.
if koşul:
islem 1
islem 2
Programlama dillerinde Python, diğerlerinden biraz ayrıcalık göstermektedir. Bu farklılığı koşul bloklarında da görüyoruz. Buna kod bloğu ya da girinti mekanizması diyoruz. Ingilizce Indentation olarak anılan bu sistemde kod bloğu girinti kullanılarak gerçekleştirilir. C/C++, Java için süslü parantezler kullanılırken Delphi’de begin … end yapıları kullanılır. Python’da dikey olarak aynı hizada başlayan ardışık kod satırları bir blok olarak kabul edilir. Her bir blok girintisi için 4 boşluk ya da 1 tab bırakılması tavsiye edilir.
Şarta bağlı IF bloğunun içinde kullanılabilecek matematiksel operatörler;
“==” eşittir
“!=” eşit değildir
“>” büyüktür “>=” büyük veya eşittir
“<” küçüktür “<=” küçük veya eşittir
# if blok çalışması
- a=5 ; b=5
- if a==b:
- print("a = b")
- a=10 ; b=7
- if a>b:
- print("a > b")
- if a != b:
- print("a eşit değildir b ")
Programı analiz edelim. İlk satırda iki değişkene değer yüklüyoruz. İkinci satırda bu iki değişken birbirine eşit mi sorusunu soruyoruz. Eğer doğruysa "a = b" ifadesini yazdırıyoruz. IF bloğu çalışması bitmiş oluyor.
5.satırda aynı değişken isimlerine yeni değerler yüklüyoruz ve a büyük mü b den sorusunu soruyoruz. Büyükse (true durumu) "a>b" ifadesini yazdırıyoruz.
Unutulmaması gereken if ile başlayan komut satırı " : " ile bitirilmesidir. Aksi halde program komut olarak algılamaz.
8. satırda ise a eşit değil mi b 'ye sorusunu soruyoruz. True ise yani eşit değilse "a eşit değildir b" ifadesini yazıyoruz.
Her bir operatörün sisteme soru sorduğunu unutmayın. Böyle olunca sistemin booelan cevabı True olacak ve IF bloğu içindeki komutu işleyecektir. Yukarıdaki örnekte “Değilse?” sorusunun yanıtı yani IF blogunun THEN kısmı henüz işlenmemiştir. Hatırlatayım Python’da bir sonraki koşul kelimesi için ELSE kullanılmaktadır.
Biraz daha karmaşık bir yapı için aşağıdaki örneği inceleyelim.
- # ıf blok çalışması
- a=9 ; b=5
- if a==b:
- print("a = b")
- else:
- print("a != b")
- renk="siyah"
- if renk=="beyaz":
- print("renk beyaz")
- elif renk=="sari":
- print("renk sari")
- elif renk=="mavi":
- print("renk mavi")
- else:
- print("hiçbiri")
Programın ilk 6 satırı ile sonraki satırları birbirinden farklı formatı anlatıyor.İlkinde yine iki değişkene değerler yüklüyorıuz, sonra birbirine eşit mi sorusunu soruyoruz. Eğer eşitse "a = b" ifadesini yazdırıyoruz. Else satırı ile bu defa boolan dönüşü False olan durumu Else komutu ile değerlendiriyoruz. Bu defa eşit değilse de aksiyon alıyoruz "a!=b" ifadesini yani a eşit değildir b ifadesini yazdırıyoruz.
Sonraki bölümde renk değişkenine bir değer atıyoruz. Siyah. sonra her aşamada elif komutuyla siyah bir başka renge eşit mi diye soruyoruz. Eğer ki renk 8. satırda belirttiğimiz gibi beyaz'a eşit ise "renk beyaz" ifadesini yazacağız ancak renk= siyah idi. Bu durumda elif kodu ile bir sonraki koşula geçiyoruz. False değerler alacağımız için Else satırına (yani hiç bir olaslığın doğruyu bulamadığı duruma) geçiyoruz ve "hiç biri" yanıtını basıyoruz. Çünkü hiçbir olasılığın gerçekleşmediği durum Else komutu ile karşılaştığımız satırdadır.
Bir sonraki bölümde OR ve AND operatörlerini inceliyoruz.
Levent Aslan.




Yorum Yap