negative Zahlen werden nicht erkannt
Verfasst: Donnerstag 28. April 2016, 17:35
Guten Abend,
und zwar stehe ich vor folgenden Problem. Ich habe folgendes vor: Ich möchte eine Abfrage erstellen, die den Benutzer dazu auffordert eine beliebige Zahl einzugeben und das Programm dann daraufhin antwortet, ob die Zahl negativ, positiv oder gleich 0 ist. Dazu habe ich folgendes eingetippt:
zahl=input("Bitte geben Sie eine Zahl ein:")
while not zahl.isdigit():
print("Error! Bitte stellen Sie sicher, ob Sie eine Zahl eingegeben haben!")
zahl=input("Bitte geben Sie eine Zahl ein:")
zahl=float(zahl)
if zahl<0:
print("Die eingegebene Zahl ist negativ!")
elif zahl>0:
print("Die eingegebene Zahl ist positiv!")
else:
print("Die eingegebene Zahl ist 0!")
Der Haken bei mir ist die rot markierte while Schleife in der ich den isdigit Befehl ausgeführt habe. Diese soll sicher stellen, dass der Benutzer eine Zahl eingibt. Jedoch stellt sich bei mir das Problem, dass es keine negativen Zahlen in Form von:" -5,-3" etc erkennt und dann wieder auffordert eine Zahl einzugeben.
Kann mir hierbei evtl. jemand weiterhelfen?
Habe leider keinen passenden Beitrag hier im Forum dazu gefunden.
Danke im Voraus.
PS habe es in Blöcke aufgeteilt um klarzumachen was noch aufgrund der getätigten Doppelpunkte zusammen gehört, da leerzeichen nicht erkannt werden.
und zwar stehe ich vor folgenden Problem. Ich habe folgendes vor: Ich möchte eine Abfrage erstellen, die den Benutzer dazu auffordert eine beliebige Zahl einzugeben und das Programm dann daraufhin antwortet, ob die Zahl negativ, positiv oder gleich 0 ist. Dazu habe ich folgendes eingetippt:
zahl=input("Bitte geben Sie eine Zahl ein:")
while not zahl.isdigit():
print("Error! Bitte stellen Sie sicher, ob Sie eine Zahl eingegeben haben!")
zahl=input("Bitte geben Sie eine Zahl ein:")
zahl=float(zahl)
if zahl<0:
print("Die eingegebene Zahl ist negativ!")
elif zahl>0:
print("Die eingegebene Zahl ist positiv!")
else:
print("Die eingegebene Zahl ist 0!")
Der Haken bei mir ist die rot markierte while Schleife in der ich den isdigit Befehl ausgeführt habe. Diese soll sicher stellen, dass der Benutzer eine Zahl eingibt. Jedoch stellt sich bei mir das Problem, dass es keine negativen Zahlen in Form von:" -5,-3" etc erkennt und dann wieder auffordert eine Zahl einzugeben.
Kann mir hierbei evtl. jemand weiterhelfen?
Habe leider keinen passenden Beitrag hier im Forum dazu gefunden.
Danke im Voraus.
PS habe es in Blöcke aufgeteilt um klarzumachen was noch aufgrund der getätigten Doppelpunkte zusammen gehört, da leerzeichen nicht erkannt werden.