Python'la yapılan hesap makinesindeki hata nedir?

Qwertiz

Decapat
Katılım
20 Mayıs 2021
Mesajlar
6
Daha fazla  
Cinsiyet
Erkek
Python:
print("Hesap makinesine hoş geldiniz")
q=int(input("Kaç rakamla işlem yapmak istiyorsunuz.sadece 2 ve 3 rakamları ile işlem yapabilirsiniz"))
if q==2 and q==3:
    if q==3:
        print("""3 rakamla işlem yapmak istediğiniz için ilk önce 2 rakamı girmeli ve o 2 rakamla hangi işlem yapacağınızı belirtdikten sonra son rakamı girersiniz ve tekrar hangi işlemi yapacağınızı belirtirsiniz
        1-Toplama
        2-Çıkarma
        3-Çarpma
        4-Bölme""")
        sayi2=float(input("1. sayıyı giriniz"))
        g6=float(input("2. sayıyı giriniz"))
        h5=int(input("Bu iki sayıyla yapmak istediğiniz işlemi seçiniz"))
        if h5==1==2==3==4 and h5==1:
            top=sayi2+g6
            print("Girdiğiniz iki sayı toplandı")
            ops=float(input("şimdi 3. Rakamı giriniz"))     
            off=int(input("Şimdi bu iki yapılan işlemlere hangi işlemin yapılacağını seçiniz"))
            if off==1==2==3==4 and off==1:
                glory=top+ops
                print(f"{sayi2}+{g6}+{ops}={glory}")
            elif off==2:
                glory2=top-ops
                print(f"{sayi2}+{g6}-{ops}={glory2}")
            elif off==3:
                glory3=top*ops
                print(f"{sayi2}+{g6}*{ops}={glory3}")
            elif off==4:
                glory4=top/ops
                print(f"{sayi2}+{g6}/{ops}={glory4}")
            else:
                print("Sadece 1,2,3,4 rakamlarını girebilirsiniz")
        elif h5==2:
            top1=sayi2-g6
            print("Girdiğiniz iki sayı çıkarıldı")
            ops1=float(input("Şimdi 3. rakamı giriniz"))
            off1=int(input("Şimdi bu iki yapılan işlemlere hangi işlemin yapılacağını seçiniz"))
            if off1==1:
                glory5=top1+ops1
                print(f"{sayi2}-{g6}+{ops1}={glory5}")
            elif off1==2:
                glory6=top1-ops1
                print(f"{sayi2}-{g6}-{ops1}={glory6}")
            elif off1==3:
                glory7=top1*ops1
                print(f"{sayi2}-{g6}*{ops1}={glory7}")
            elif off1==4:
                glory8=top1/ops1
                print(f"{sayi2}-{g6}/{ops1}={glory8}")
        elif h5==3:
            top2=sayi2*g6
            print("Girdiğiniz iki sayı çarpıldı")
            ops2=float(input("Şimdi 3. rakamı giriniz"))
            off2=int(input("Şimdi bu iki yapılan işlemlere hangi işlemin yapılacağını seçiniz"))
            if off2==1:
                glory9=top2+g6
                print(f"{sayi2}*{g6}+{ops2}={glory9}")
            elif off2==2:
                glory10=top2-ops2
                print(f"{sayi2}*{g6}-{ops2}={glory10}")
            elif off2==3:
                glory11=top2*ops2
                print(f"{sayi2}{g6}{ops2}={glory11}")
            elif off2==4:
                glory12=top2/ops2
                print(f"{sayi2}*{g6}/{ops2}={glory12}")
        elif h5==4:
            top3=sayi2/g6
            print("Girdiğiniz iki sayı bölündü")
            ops3=float(input("Şimdi 3. rakamı giriniz"))
            off3=int(input("Şimdi bu iki yapılan işlemlere hangi işlemin yapılacağını seçiniz"))
            if off3==1:
                glory13=top3+g6
                print(f"{sayi2}*{g6}+{ops3}={glory13}")
            elif off3==2:
                glory14=top3-ops3
                print(f"{sayi2}*{g6}-{ops3}={glory14}")
            elif off3==3:
                glory15=top3*ops3
                print(f"{sayi2}{g6}{ops3}={glory15}")
            elif off3==4:
                glory16=top3/ops3
                print(f"{sayi2}*{g6}/{ops3}={glory16}")
        elif q==2:
            y=int(input("""Yapmak istediğiniz işlemi seçin
            1-Toplama
            2-Çıkarma
            3-Çarpma
            4-Bölme"""))
            if y==1:
                e=float(input("1. sayıyı giriniz"))
                r=float(input("2. sayıyı giriniz"))
                t=e*r
                print(f"{e} ile {r} nin toplamları={t}")
     
     
            elif y==2:
                e1=float(input("1. sayıyı giriniz"))
                r1=float(input("2. sayıyı giriniz"))
                t1=e1-r1
                print(f"{e1} ile {r1} in çıkarmaları={t1}")
     
     
            elif y==3:
                e2=float(input("1. sayıyı giriniz"))
                r2=float(input("2. sayıyı giriniz"))
                t2=e2*r2
                print(f"{e2} ile {r2} in çarpımları={t2}")

            elif y==4:
                e3=float(input("1. sayıyı giriniz"))
                r3=float(input("2. sayıyı giriniz"))
                t3=e3/r3
                print(f"{e3} ile {r3} in çıkarmaları={t3}")
        else:
            print("Sadece 1,2,3,4 rakamlarını kullanabilirsiniz")     
else:
    print("Sadece 2 ve 3 rakamlarını kullanabilirsiniz")
 
Son düzenleyen: Moderatör:
Kodunuz hiç temiz değil. Öncelikle kodu temize çekin. Mesela 2 sayıyla toplama yapması gerekirken çarpıyor. "q" değişkeninin 2 veya 3 olduğunu kontrol etmek için en başta if koşulunda belirtmenize gerek yok. Aşağıda sadece onu düzelttim. Mantık hataları ve kirlilik elinizden öper.

Python:
print("Hesap makinesine hoş geldiniz")
q = int(input("Kaç rakamla işlem yapmak istiyorsunuz.sadece 2 ve 3 rakamları ile işlem yapabilirsiniz"))
if q == 3:

    print("""3 rakamla işlem yapmak istediğiniz için ilk önce 2 rakamı girmeli ve o 2 rakamla hangi işlem yapacağınızı belirtdikten sonra son rakamı girersiniz ve tekrar hangi işlemi yapacağınızı belirtirsiniz
        1-Toplama
        2-Çıkarma
        3-Çarpma
        4-Bölme""")
    sayi2 = float(input("1. sayıyı giriniz"))
    g6 = float(input("2. sayıyı giriniz"))
    h5 = int(input("Bu iki sayıyla yapmak istediğiniz işlemi seçiniz"))
    if h5 == 1 == 2 == 3 == 4 and h5 == 1:
        top = sayi2 + g6
        print("Girdiğiniz iki sayı toplandı")
        ops = float(input("şimdi 3. Rakamı giriniz"))
        off = int(input("Şimdi bu iki yapılan işlemlere hangi işlemin yapılacağını seçiniz"))
        if off == 1 == 2 == 3 == 4 and off == 1:
            glory = top + ops
            print(f"{sayi2}+{g6}+{ops}={glory}")
        elif off == 2:
            glory2 = top - ops
            print(f"{sayi2}+{g6}-{ops}={glory2}")
        elif off == 3:
            glory3 = top * ops
            print(f"{sayi2}+{g6}*{ops}={glory3}")
        elif off == 4:
            glory4 = top / ops
            print(f"{sayi2}+{g6}/{ops}={glory4}")
        else:
            print("Sadece 1,2,3,4 rakamlarını girebilirsiniz")
    elif h5 == 2:
        top1 = sayi2 - g6
        print("Girdiğiniz iki sayı çıkarıldı")
        ops1 = float(input("Şimdi 3. rakamı giriniz"))
        off1 = int(input("Şimdi bu iki yapılan işlemlere hangi işlemin yapılacağını seçiniz"))
        if off1 == 1:
            glory5 = top1 + ops1
            print(f"{sayi2}-{g6}+{ops1}={glory5}")
        elif off1 == 2:
            glory6 = top1 - ops1
            print(f"{sayi2}-{g6}-{ops1}={glory6}")
        elif off1 == 3:
            glory7 = top1 * ops1
            print(f"{sayi2}-{g6}*{ops1}={glory7}")
        elif off1 == 4:
            glory8 = top1 / ops1
            print(f"{sayi2}-{g6}/{ops1}={glory8}")
    elif h5 == 3:
        top2 = sayi2 * g6
        print("Girdiğiniz iki sayı çarpıldı")
        ops2 = float(input("Şimdi 3. rakamı giriniz"))
        off2 = int(input("Şimdi bu iki yapılan işlemlere hangi işlemin yapılacağını seçiniz"))
        if off2 == 1:
            glory9 = top2 + g6
            print(f"{sayi2}*{g6}+{ops2}={glory9}")
        elif off2 == 2:
            glory10 = top2 - ops2
            print(f"{sayi2}*{g6}-{ops2}={glory10}")
        elif off2 == 3:
            glory11 = top2 * ops2
            print(f"{sayi2}{g6}{ops2}={glory11}")
        elif off2 == 4:
            glory12 = top2 / ops2
            print(f"{sayi2}*{g6}/{ops2}={glory12}")
    elif h5 == 4:
        top3 = sayi2 / g6
        print("Girdiğiniz iki sayı bölündü")
        ops3 = float(input("Şimdi 3. rakamı giriniz"))
        off3 = int(input("Şimdi bu iki yapılan işlemlere hangi işlemin yapılacağını seçiniz"))
        if off3 == 1:
            glory13 = top3 + g6
            print(f"{sayi2}*{g6}+{ops3}={glory13}")
        elif off3 == 2:
            glory14 = top3 - ops3
            print(f"{sayi2}*{g6}-{ops3}={glory14}")
        elif off3 == 3:
            glory15 = top3 * ops3
            print(f"{sayi2}{g6}{ops3}={glory15}")
        elif off3 == 4:
            glory16 = top3 / ops3
            print(f"{sayi2}*{g6}/{ops3}={glory16}")

    else:
        print("Sadece 1,2,3,4 rakamlarını kullanabilirsiniz")
        
if q == 2:
    y = int(input("""Yapmak istediğiniz işlemi seçin
                1-Toplama
                2-Çıkarma
                3-Çarpma
                4-Bölme"""))
    if y == 1:
        e = float(input("1. sayıyı giriniz"))
        r = float(input("2. sayıyı giriniz"))
        t = e * r
        print(f"{e} ile {r} nin toplamları={t}")


    elif y == 2:
        e1 = float(input("1. sayıyı giriniz"))
        r1 = float(input("2. sayıyı giriniz"))
        t1 = e1 - r1
        print(f"{e1} ile {r1} in çıkarmaları={t1}")


    elif y == 3:
        e2 = float(input("1. sayıyı giriniz"))
        r2 = float(input("2. sayıyı giriniz"))
        t2 = e2 * r2
        print(f"{e2} ile {r2} in çarpımları={t2}")

    elif y == 4:
        e3 = float(input("1. sayıyı giriniz"))
        r3 = float(input("2. sayıyı giriniz"))
        t3 = e3 / r3
        print(f"{e3} ile {r3} in çıkarmaları={t3}")
else:
    print("Sadece 2 ve 3 rakamlarını kullanabilirsiniz")
 

Geri
Yukarı