Taschenrechner Python

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
EEK
User
Beiträge: 14
Registriert: Donnerstag 6. April 2017, 07:41

SerBlack hat geschrieben:War nur ein kleiner Scherz am Rande. Heute ist mein Letzter Tag dann gehe ich !! (Usbekistan, Urlaub)
Was du machen musst, hat dir Kebap ja schon gesagt. Du solltest dir aber wirklich die Grundlagen (noch)Mal anschauen. Wenn du mit so was schon Probleme hast, wirst du nicht besonders weit kommen beim Programmieren.
Eros
User
Beiträge: 9
Registriert: Montag 15. Februar 2021, 11:01

Moin Zusammen,

Ich habe mir diesen Code auch zufällig mal angeschaut. Ich bin dabei auf ein Problem gestossen, welches ich mir nicht erklären kann.
Wenn ich am schluss das Programm beenden will, muss ich, bei der Abfrage, ja einfach "Nein" eingeben. Obwohl ich dies mache, fährt das Programm fort und startet eigentlich wieder neu mit der Abfrage, welche Rechenoperation durchgeführt werden soll.

Code: Alles auswählen

doLoop = True
while doLoop:

    oper = input("Welche Rechenoperation soll durchgefuehrt werden? (+,-,/.,*): ")
    num1 = float(input("Gib die erste Zahl ein: "))
    num2 = float(input("Gib die zweite Zahl ein: "))

    num1 = int(num1)
    num2 = int(num2)

    if (oper == "+"):
        print("Deine Rechnung:", num1, " + ", num2)
        print("Ergebnis:", num1 + num2)

    elif (oper == "-"):
        print("Deine Rechnung:", num1, " - ", num2)
        print("Ergebnis:", num1 - num2)

    elif (oper == "/"):
        print("Deine Rechnung:", num1, " / ", num2)
        print("Ergebnis:", num1 / num2)

    elif (oper == "*"):
        print("Deine Rechnung:", num1, " * ", num2)
        print("Dein Ergebnis:", num1 * num2)
    else:
        print("Deine Eingaben sind nicht gueltig")


    jein = input("Willst du weiter rechnen? (Ja/Nein)")

    if oper == "Nein":
        doLoop = False
        

Gruss

Eros
Benutzeravatar
sparrow
User
Beiträge: 4193
Registriert: Freitag 17. April 2009, 10:28

Erklär mal, was die letzten 3 Zeilen mit Code deiner Meinung nach tun.

Zum Code:

if ist keine Funktion. Die Bedingung gehört nicht im Klammern.

Statt eine Variable auf True zu setzen und dann so lange die Schleife laufen lassen, bis sie False ist, würde man in python mit "while True:" eine Enlosschleife einleiten und die an gewünschter Stelle mit "break" verlassen.
"doLoop" sieht auch irgendwie wie Visual Basic aus. Unabhängig davon, dass die Variable überflüssig ist, schreibt man in Python Namen von Variablen klein_mit_unterstrich. Und man benutzt aussagekräftige Namen, keine verwirrenden Akürzungen. Welche Opern magst du denn am liebsten?
Antworten