Seite 1 von 2

Verfasst: Donnerstag 15. April 2010, 18:07
von EyDu
Mad-Marty hat geschrieben:String eingeben und dann String Method .isdigit() benutzen
Werf ich einfach mal so rein, ist imo der "richtige" weg.
Da stehst du aber relativ alleine auf deiner Seite ;-) Der try-except-Ansatz ist eigentlich Standard.

Verfasst: Freitag 16. April 2010, 14:04
von Horst
Danke Dav1d. Dein Weg funktioniert einwandfrei. Jetzt klapps

Verfasst: Samstag 17. April 2010, 17:15
von Dav1d
Gerne :)

Zu .isdigit:

Code: Alles auswählen

>>> int(-5)
-5
>>> '-5'.isdigit()
False

Re: Kontrollabfrage, ob eine Zahl eingegeben wurde

Verfasst: Samstag 23. Dezember 2017, 19:05
von STORMBREAKER
Ich würde einfach direkt nur eine Eingabe als Integer zulassen. Das geht mit:

Code: Alles auswählen

Eingabe = int(input("Eingabe:"))

Re: Kontrollabfrage, ob eine Zahl eingegeben wurde

Verfasst: Samstag 23. Dezember 2017, 19:33
von noisefloor
Hallo,

@STROMBREAKER: das ist schlechtweg falsch. Du kannst _alles_ eingeben - nur bekommst du eine Exception, wenn die Umwandlung nach Integer nicht funktioniert. Das wurde aber vor 7,5 Jahren in diesem Thread schon festgestellt...

Gruß, noisefloor

Re: Kontrollabfrage, ob eine Zahl eingegeben wurde

Verfasst: Samstag 23. Dezember 2017, 21:02
von snafu
STORMBREAKER hat geschrieben:Ich würde einfach direkt nur eine Eingabe als Integer zulassen. Das geht mit:

Code: Alles auswählen

Eingabe = int(input("Eingabe:"))
Das Problem daran ist, dass das Programm dann bei einer Falscheingabe "abstürzt", sofern die Exception nicht behandelt wird. Das kann man so machen, aber meistens will man keinen Abbruch, sondern eine korrigierte Eingabe des Benutzers. Und dazu hat er bei deinem Code eben keine Chance (abgesehen vom Neustart des Programms).