2017-10-12 3 views
0

ich zur Zeit bin immer Benutzereingabe mit dieser Codezeile:Python Fehler ohne GOTO Handhabung

qty = int(input("How many of this item should we start with?")) 

Wie zu erwarten ist, wirft es einen Fehler, wenn ein Wert eingegeben wird, dass nicht auf INT umgewandelt werden kann.

Bei einem Fehler möchte ich "Bitte geben Sie eine ganze Zahl ein" eingeben und zur vorherigen Zeile zurückkehren, die die Eingabe anfordert. Was ist der "pythischste" Weg dies zu erreichen?

+3

_ zu tun Pythonic „Was die meisten ist‚_ Kurz gesagt‘Art und Weise, dies zu erreichen?“: Eine 'while' Schleife mit' Verwendung von try/außer ". Siehe den obigen Link für weitere Informationen. –

+0

Was hast du schon probiert? Haben Sie "Benutzereingabefehlerbehandlung in Python" gegoogelt oder etwas in dieser Richtung? – toonarmycaptain

Antwort

2

Wahrscheinlich die pythonic Weise ist die folgende

while True: 
    try: 
     qty = int(input("How many of this item should we start with?")) 
     break 
    except ValueError: 
     pass  
+1

Hinweis: Die Frage ist für Python 3.x markiert, also ist 'input' das, was Sie wollen, nicht' raw_input' (was nur bei Py2 existiert). – ShadowRanger

+0

Ah ok, aktualisiert. – user6731765

+0

Geht es zurück zur Eingabeaufforderung? – NickSentowski