Bir önceki derste Python'da if / elif / else kullanımını öğrenmiştik.
if / elif / else kullanımında eğer 1. durum gerçekleşiyorsa 2. duruma ve onun da yanıtına göre 3. duruma bakarak (yani birbirine bağlı sorular ile ilerleyerek) tek bir koşulun gerçekleşmesine şahit oluyorduk.
örneğin yaşı 12 -15 arası ise (if) bilet 5$, 15-18 arası ise (elif) bilet 8$, 18'den büyükse (else) bilet 10$ gibi.
Multiple if conditions durumu ise aslında adı üzerinde birden fazla "if" bulunması halini anlatıyor ve bu eğerler birbirinden farklı. İki farklı sorunun cevabı aranıyor.
Bilet parasını öğrendikten sonra bir de "yanında patlamış mısır istiyor musun?" diye sorarsak ve mısırın parasını bilet parasına ekleyeceksek bu durumda bir multiple if condition ile karşı karşıyayız. Patlamış mısır'ın ücreti alan kişinin yaşına göre değişiyorsa bu da kendi içerisinde bir elif/else barındıracak demek.
Birazdan örnek üzerinde daha anlaşılabilir hale getirmeye çalışacağım :)
* If condition'ları yazarken önemli hususlardan biri satırbaşının nereden yapıldığı. Python öncelik sıralamasına ve işlem sırasına buna göre karar verdiğinden neyi nereden başlattığına dikkat etmek gerekiyor.
** Herhangi bir değişkenin sabit artmasını istiyorsak (mesela hep 3$ artıyorsa) += 3$ şeklinde yazarak tekrar tekrar yazmaktan kurtulabiliriz.
*** Eğer cevaba bağlı olarak sonucu değiştirecek bir durum yoksa if'lerin arkasına else'leri koymamıza gerek kalmıyor.
Gelelim örneğe.
Bizden bir pizza fiyatı hesaplayıcı yapmamız istenmiş.
Bilmemiz gerekenler hangi boy pizza, sucuk olacak mı ve ekstra peynir istiyor musunuz sorularının cevapları.
Fiyatlar şu şekil:
Küçük Boy Pizza: $15
Medium Boy Pizza: $20
Large Boy Pizza: $25
Küçük Boy Pizza için sucuk: +$2
Medium ve Large Boy Pizza için sucuk: +$3
Her boy pizza için ekstra peynir: + $1
Değişkenlerimizi belirleyelim:
print("Python Pizzacısına Hoşgeldiniz!")
ebat = input("Ne boy pizza istersiniz? S, M, L ")
sucuk_ekleme = input("Sucuk ister misiniz? Y, N ")
ekstra_peynir = input("Ekstra peynir ister misiniz? Y, N ")
Onun yazdığı kod:
tutar = 0 (İlk olarak tutar için bir değişken belirlemiş)
if ebat == "S":
tutar += 15
elif ebat == "M": (Elif/else ile devam ediyor çünkü if conditionlarda "birinden biri olacak" durumu var)
tutar += 20
else:
tutar += 25
if sucuk_ekleme == "Y": (Burada yeni bir if condition başlıyor)
if ebat == "S":
tutar += 2
else: (M ve L için eklenecek miktar aynı olduğundan)
tutar += 3
if ekstra_peynir == "Y":(Bu da multiple if'lerin sonuncusu)
tutar += 1
print(f"Toplam tutar: {tutar}.")
(Dikkat: Tüm satırbaşları aynı yerde)
Benim yazdığım kod (birçok farklı şekilde yazarak doğru sonuca ulaşmak mümkün):
Benim yazdığım kodda her ebat seçimi ardından malzeme seçimi geliyor ve ebada bağlı geldiği için de her ebat seçimi altında 1 tab içeride duruyor.
Mümkün olduğunca işleri basit tutabilmek adına ilk yazılmış olan kod benimkinden daha iyi tabi ama öte yandan nasıl anlıyorsan ve kendini nasıl doğru ifade edebiliyorsan, eğer doğru sonucu da alıyorsan sanıyorum sorun yok.
Bugünlük bu kadar. Hala 3. gündeyim ama 35. dersi bitirdim. Bir yandan da TryHackMe ile uğraştığım için ancak bu hızla gidebiliyorum :)

Hiç yorum yok:
Yorum Gönder