inamarina hat geschrieben:
Jetzt möchte ich festlegen, dass wenn der Benutzer bei input keine eingabe macht (also irgendwas mit !=null), dass eine Fehlermeldung mit print erscheint?
Und wenn er einen Integerwert eingibt soll auch eine Fehlermeldung erscheinen?
Zu dem Thema (universelle Input-Funktion) hatten wir auch schon den ein oder anderen Thread. Nutzt Du eigentlich Python 3.x? Wenn nein, nutze raw_input() statt input().
Als Ansatz kannst Du einfach die Exception abfangen, die bei falschem Parameter für int() geworfen wird:
Code: Alles auswählen
In [1]: int("foo")
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
/home/nelson/src/Python/Unmanaged/analysis/<ipython console> in <module>()
ValueError: invalid literal for int() with base 10: 'foo'
In [3]: try:
...: int("foo")
...: except ValueError:
...: print "Bitte einen Integerwert eingeben!"
...:
...:
Bitte einen Integerwert eingeben!
Das ganze musst Du nun noch irgend wie in eine Schleife packen, damit man solange auf einen Fehler hingewiesen wird, bis man einen korrekten Wert eingegeben hat. Das überlasse ich Dir mal
Danach packst Du das in eine Funktion, der Du den Eingabetext und ggf. einen Mindestwert übergeben kannst. Damit sparst Du Dir das erneute Hinschreiben des gleichen Codes für den Endwert. Der einegegeben Integerwert wird von der Funktion zurückgegeben.
Im übrigen mal als kleiner genereller Hinweis: Es ist hier nicht gerne gesehen, wenn jemand seine Postings nachträglich löscht!
Link Ich würde Dich also bitten, das in Zukunft nicht mehr zu machen.