Ich habe einen grundlegenden Rechner mit Python gemacht und ich bin auf dieses Problem gestoßen. Nachdem die Berechnungen vorgenommen wurden, wird immer "Ungültige Nummer" gedruckt und dann wird die Pause ausgeführt. Ich denke, es hat etwas damit zu tun, dass die Zeilenumbrüche die blockieren, wenn blockieren, aber ich bin mir nicht sicher.Else-Anweisung in Python 3 läuft immer
Jede Hilfe wird geschätzt. Vielen Dank im Voraus.
def badnum():
print("Invalid Number")
print("Press enter to continue")
input("")
def main():
print("Select an action ")
print("1.) Add")
print("2.) Subtract")
print("3.) Multiply")
print("4.) Divide")
ac = int(input(">>>"))
if ac == 1:
print("First number :")
fn = float(input(">>>"))
print("Second number :")
sn = float(input(">>>"))
a = fn+sn
print(a)
if ac == 2:
print("First number :")
fn = float(input(">>>"))
print("Second number :")
sn = float(input(">>>"))
a = fn-sn
print(a)
if ac == 3:
print("First number :")
fn = float(input(">>>"))
print("Second number :")
sn = float(input(">>>"))
a = fn*sn
print(a)
if ac == 4:
print("First number :")
fn = float(input(">>>"))
print("Second number :")
sn = float(input(">>>"))
a = fn/sn
print(a)
else:
badnum()
print("\n"*100)
while True:
try:
main()
except ValueError:
badnum()
except ZeroDivisionError:
print("Infinity")
print("\n"*100)
Sie sollten 'if ... elif' machen, nicht diese separaten' if' Blöcke. Und ich frage mich, was diese einzelne 'input (" ")' tun soll –
Ich würde empfehlen, Ihren Einzug * und die Verwendung von elifs *. – Li357
@MosesKoledoye Danke, das hat es behoben. –