# Koşullar: eger, degilse eger, degilse; karşılaştırma ve ve/veya/degil # # Program bazen bir şeyi yalnız belli bir durumda yapmalıdır. # "eger koşul:" satırının altındaki girintili kod, koşul doğruysa çalışır. # Girinti (satır başındaki 4 boşluk) hangi satırların bloğa ait olduğunu gösterir. # ── Karşılaştırma işleçleri ─────────────────────────────────── # Her karşılaştırmanın sonucu bir mantık değeridir: dogru ya da yanlis. # == eşit mi != farklı mı # < küçük mü <= küçük ya da eşit mi # > büyük mü >= büyük ya da eşit mi yazdir(f"7 > 3 : {7 > 3}") yazdir(f"7 == 3 : {7 == 3}") yazdir(f"7 != 3 : {7 != 3}") yazdir(f"\"elma\" == \"Elma\" : {'elma' == 'Elma'} (büyük/küçük harf fark eder)") yazdir() # ── eger / degilse ──────────────────────────────────────────── sicaklik = 31 eger sicaklik > 30: yazdir(f"Hava {sicaklik} derece: sıcak, bol su için.") degilse: yazdir(f"Hava {sicaklik} derece: serin.") # ── degilse eger: birden çok seçenek ────────────────────────── # Koşullar yukarıdan aşağı denenir; DOĞRU çıkan İLK dal çalışır, gerisi atlanır. # Bu yüzden sıralama önemlidir: önce en büyük eşiği soruyoruz. puan = 77 eger puan >= 85: harf = "AA" degilse eger puan >= 70: harf = "BA" degilse eger puan >= 60: harf = "BB" degilse eger puan >= 50: harf = "CC" degilse: harf = "FF" yazdir(f"{puan} puan → harf notu {harf}") yazdir() # ── ve / veya / degil ───────────────────────────────────────── # ve : iki taraf da doğruysa doğru # veya : taraflardan en az biri doğruysa doğru # degil : doğruyu yanlışa, yanlışı doğruya çevirir yas = 16 veli_izni = dogru eger yas >= 18 veya veli_izni: yazdir(f"{yas} yaşında: geziye katılabilir.") degilse: yazdir(f"{yas} yaşında: veli izni gerekli.") # Artık yıl kuralı: 4'e bölünür ve 100'e bölünmez, YA DA 400'e bölünür. # Uzun koşulları parantezle gruplamak hem doğru çalışmasını hem okunmasını sağlar. yil = 2024 artik = (yil % 4 == 0 ve yil % 100 != 0) veya yil % 400 == 0 eger artik: yazdir(f"{yil} artık yıl: şubat 29 gün.") degilse: yazdir(f"{yil} artık yıl değil: şubat 28 gün.") eger degil artik: yazdir("Bu satır görünmez, çünkü yıl artık yıl.") yazdir() # ── İç içe koşul ────────────────────────────────────────────── # Bir eger bloğunun içine başka bir eger yazılabilir. Her düzey 4 boşluk daha içeride. kullanici = "ayse" parola = "kirmizi-kalem" eger kullanici == "ayse": eger parola == "kirmizi-kalem": yazdir("Giriş başarılı. Hoş geldin, Ayşe.") degilse: yazdir("Parola yanlış.") degilse: yazdir("Böyle bir kullanıcı yok.") # ── Küçük bir hesap: kargo ücreti ───────────────────────────── # Sepet 500 TL ve üstüyse kargo ücretsiz; değilse ağırlığa göre ücret. sepet = 420.0 agirlik_kg = 3.2 eger sepet >= 500.0: kargo = 0.0 degilse eger agirlik_kg <= 1.0: kargo = 39.90 degilse eger agirlik_kg <= 5.0: kargo = 59.90 degilse: kargo = 89.90 yazdir() yazdir(f"Sepet {sepet:.2f} TL, {agirlik_kg} kg → kargo {kargo:.2f} TL") eger kargo > 0.0: eksik = 500.0 - sepet yazdir(f"\033[33m{eksik:.2f} TL'lik ürün daha eklerseniz kargo ücretsiz.\033[0m")