Anfänger - Vereinfachung für Rechner Code - Schleife - gesucht
Verfasst: Sonntag 5. Februar 2017, 22:13
Hallo zusammen, habe gerade mit python angefangen, und Probleme eine einfache "while" Schleife hinzubekommen...
Es geht um einen Taschenrechner. Nach der ersten Rechnung soll das Programm nicht stoppen, sondern der Nutzer soll eine neue Rechnung ausführen können.
Mit meinem Code funktioniert das- ich konnte aber keine einfache Schleife hinbekommen und habe daher einen Teil des Codes doppelt (ab 33).
Wie kann ich den Code verschlanken? Kann bitte Jemand helfen? Danke!
[codebox=python file=Unbenannt.php]def add(num1, num2):
return num1 + num2
def sub(num1, num2):
return num1 - num2
def mul(num1, num2):
return num1 * num2
def div(num1, num2):
return num1 / num2
print("Taschenrechner")
print (" ")
def main():
operation = input("Was willst Du machen? Gib das Rechensymbol ein (+,-,*,/)")
if (operation != "+" and operation != "-" and operation != "*" and operation != "/"):
print("Entschuldige, aber Du must zuerst eins der vier Rechensymbole auswählen")
else:
var1 = float(input("Gib Zahl 1 ein (anstelle eines Kommas mußt Du einen . eingeben):"))
var2 = float(input("Gib Zahl 2 ein (anstelle eines Kommas mußt Du einen . eingeben):"))
if (operation == "+"):
print("Das Ergebnis der Addition ist:")
print(add(var1, var2))
elif (operation == "-"):
print("Das Ergebnis der Subtraktion ist:")
print(sub(var1, var2))
elif (operation == "/"):
print("Das Ergebnius der Division ist:")
print(div(var1, var2))
else:
print("Das Ergebnis der Multiplikation ist:")
print(mul(var1, var2))
frage = input("Willst Du noch einmal rechnen lassen? Schreibe 'Ja' oder 'Nein':")
while frage == 'Ja':
operation = input("Was willst Du machen? Gib das Rechensymbol ein (+,-,*,/)")
if (operation != "+" and operation != "-" and operation != "*" and operation != "/"):
print("Entschuldige, aber Du must zuerst eins der vier Rechensymbole auswählen")
else:
var1 = float(input("Gib Zahl 1 ein (anstelle eines Kommas mußt Du einen . eingeben):"))
var2 = float(input("Gib Zahl 2 ein (anstelle eines Kommas mußt Du einen . eingeben):"))
if (operation == "+"):
print("Das Ergebnis der Addition ist:")
print(add(var1, var2))
elif (operation == "-"):
print("Das Ergebnis der Subtraktion ist:")
print(sub(var1, var2))
elif (operation == "/"):
print("Das Ergebnius der Division ist:")
print(div(var1, var2))
else:
print("Das Ergebnis der Multiplikation ist:")
print(mul(var1, var2))
frage = input("Willst Du noch einmal rechnen lassen? Schreibe 'Ja' oder 'Nein':")
print("Das Programm wird beendet")
main ()[/code]
Es geht um einen Taschenrechner. Nach der ersten Rechnung soll das Programm nicht stoppen, sondern der Nutzer soll eine neue Rechnung ausführen können.
Mit meinem Code funktioniert das- ich konnte aber keine einfache Schleife hinbekommen und habe daher einen Teil des Codes doppelt (ab 33).
Wie kann ich den Code verschlanken? Kann bitte Jemand helfen? Danke!
[codebox=python file=Unbenannt.php]def add(num1, num2):
return num1 + num2
def sub(num1, num2):
return num1 - num2
def mul(num1, num2):
return num1 * num2
def div(num1, num2):
return num1 / num2
print("Taschenrechner")
print (" ")
def main():
operation = input("Was willst Du machen? Gib das Rechensymbol ein (+,-,*,/)")
if (operation != "+" and operation != "-" and operation != "*" and operation != "/"):
print("Entschuldige, aber Du must zuerst eins der vier Rechensymbole auswählen")
else:
var1 = float(input("Gib Zahl 1 ein (anstelle eines Kommas mußt Du einen . eingeben):"))
var2 = float(input("Gib Zahl 2 ein (anstelle eines Kommas mußt Du einen . eingeben):"))
if (operation == "+"):
print("Das Ergebnis der Addition ist:")
print(add(var1, var2))
elif (operation == "-"):
print("Das Ergebnis der Subtraktion ist:")
print(sub(var1, var2))
elif (operation == "/"):
print("Das Ergebnius der Division ist:")
print(div(var1, var2))
else:
print("Das Ergebnis der Multiplikation ist:")
print(mul(var1, var2))
frage = input("Willst Du noch einmal rechnen lassen? Schreibe 'Ja' oder 'Nein':")
while frage == 'Ja':
operation = input("Was willst Du machen? Gib das Rechensymbol ein (+,-,*,/)")
if (operation != "+" and operation != "-" and operation != "*" and operation != "/"):
print("Entschuldige, aber Du must zuerst eins der vier Rechensymbole auswählen")
else:
var1 = float(input("Gib Zahl 1 ein (anstelle eines Kommas mußt Du einen . eingeben):"))
var2 = float(input("Gib Zahl 2 ein (anstelle eines Kommas mußt Du einen . eingeben):"))
if (operation == "+"):
print("Das Ergebnis der Addition ist:")
print(add(var1, var2))
elif (operation == "-"):
print("Das Ergebnis der Subtraktion ist:")
print(sub(var1, var2))
elif (operation == "/"):
print("Das Ergebnius der Division ist:")
print(div(var1, var2))
else:
print("Das Ergebnis der Multiplikation ist:")
print(mul(var1, var2))
frage = input("Willst Du noch einmal rechnen lassen? Schreibe 'Ja' oder 'Nein':")
print("Das Programm wird beendet")
main ()[/code]