Das kommt daher, weil du 3 getrennte while-Schleifen hast. Die Abfrage "Willst du weiter rechnen?..." ist ja nur in der dritten while-Schleife und somit wird auch nur diese wiederholt, wenn du was eingibst, das nicht "nein" ist.SerBlack hat geschrieben: Mein Problem ist: Wenn man Ja am Ende antwortet, wiederholt sich das Ergebnis und die Rechnung die man vorher eingegeben hat.
Taschenrechner Python
Wenn das wirklich stimmt, was bringt es dir denn dann wenn es dir jemand erklärt?SerBlack hat geschrieben:Könntest du es mir erklären wie man diesen Fehler behebt? (Heute ist mein letzter Tag, dann gehe ich für immer weg. Nach Afrika, will ein leben ohne Technik!)
Dann mal einen schönen Urlaub! Du löst das Problem, indem du in deiner Schleife (auf sinnvolle Weise) alles zusammenfasst, was dann wiederholt werden soll.
Zuletzt geändert von Kebap am Freitag 7. April 2017, 11:15, insgesamt 1-mal geändert.
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
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.SerBlack hat geschrieben:War nur ein kleiner Scherz am Rande. Heute ist mein Letzter Tag dann gehe ich !! (Usbekistan, Urlaub)
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.
Gruss
Eros
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
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?
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?