Ich schreibe ein Programm, das Benutzereingaben akzeptiert.
#Hinweis: Python-2.7-Benutzer sollten `raw_input` verwenden, das Äquivalent zu 3.X's `input`
age = int(input("Bitte geben Sie Ihr Alter ein: "))
if age >= 18:
print("Sie können in den Vereinigten Staaten wählen!")
else:
print("Sie können in den Vereinigten Staaten nicht wählen.")
Das Programm funktioniert wie erwartet, solange der Benutzer sinnvolle Daten eingibt.
Bitte geben Sie Ihr Alter ein: 23
Sie können in den Vereinigten Staaten wählen!
Aber es scheitert, wenn der Benutzer ungültige Daten eingibt:
Bitte geben Sie Ihr Alter ein: dickety six
Traceback (most recent call last):
File "canyouvote.py", Zeile 1, in
age = int(input("Bitte geben Sie Ihr Alter ein: "))
ValueError: ungültige Dezimalzahl für int() zur Basis 10: 'dickety six'
Statt abzustürzen, möchte ich, dass das Programm erneut nach der Eingabe fragt. So:
Bitte geben Sie Ihr Alter ein: dickety six
Entschuldigung, das habe ich nicht verstanden.
Bitte geben Sie Ihr Alter ein: 26
Sie können in den Vereinigten Staaten wählen!
Wie bitte ich um gültige Eingaben anstelle von Absturz oder Akzeptanz ungültiger Werte (z.B. -1
)?