CodeBlanks Logo Icon CodeBlanks

Birleştirme

Menü döngüsüyle çalışan hesap makinesini yazarsın.

Hesap makinesini birleştir

Son derste hesap makinesini birleştiriyoruz. Tüm fonksiyonlar hazır; şimdi bir operator seçimi ekleyeceğiz. if/elif yapısını kullanarak seçilen işlemi uygulayacağız:

operator = "+"
if operator == "+":
    print(add(a, b))
elif operator == "-":
    print(subtract(a, b))

if/elif birden fazla koşulu sırayla dener; ilk doğru olan blok çalışır. Bu yapıyı ayrı bir grupta ayrıntılı göreceğiz.

Tam hesap makinesi

Şimdi tüm parçaları birleştiriyoruz. operator değişkenine bir işlem atayıp, if/elif ile ilgili fonksiyonu çağıracağız:

operator = "*"
if operator == "+":
    print(add(a, b))
elif operator == "-":
    print(subtract(a, b))
elif operator == "*":
    print(multiply(a, b))
elif operator == "/":
    print(divide(a, b))

Bu, hesap makinesinin iskeletidir. Gerçek bir uygulamada operator kullanıcıdan alınır; ama burada sabit bir değerle test ediyoruz.

Uygulama Hesap makinesini tamamla

Tüm fonksiyonlar hazır. operator = "*" ata. Sonra if/elif ile dört işlemi sırayla karşılaştır: + ise add, - ise subtract, * ise multiply, / ise divide çağır ve yazdır.

Başlangıç kodu

main.py
# Hesap makinesi - iki sayi tanımla
a = 10
b = 5
def add(x, y):
    return x + y
def subtract(x, y):
    return x - y
def multiply(x, y):
    return x * y
def divide(x, y):
    try:
        return x / y
    except ZeroDivisionError:
        return 0
# operator sec ve işlemi yap

Örnek çözüm

main.py
operator = "*"
if operator == "+":
    print(add(a, b))
elif operator == "-":
    print(subtract(a, b))
elif operator == "*":
    print(multiply(a, b))
elif operator == "/":
    print(divide(a, b))

Beklenen çıktı

50

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 if/elif yapısında hangi blok çalışır?

  • Ilk doğru koşulun bloğu Doğru cevap
  • Tüm bloklar
  • Son blok
  • Hiçbiri

Açıklama: if/elif ilk doğru koşulun bloğunu çalıştırır.

2 Operator karşılaştırmasını tamamla

Soru
if operator ____ "+":
    print(add(a, b))
Cevap
if operator == "+":
    print(add(a, b))

Açıklama: == eşitlik karşılaştırmasıdır.

3 Hesap makinesi parçalarını eşleştir

Kavram Anlamı
def Fonksiyon tanımı
if/elif Operator seçimi
try/except Hata yakalama
print Sonuç yazdırma

Başlangıç bölümündeki tüm dersler