2016-12-20 1 views
0

Die Frage ist im Titel: Wie gehst du zum Anfang einer if-Anweisung im else Abschnitt?Wie gehst du zum Anfang einer if-Anweisung im else-Abschnitt? Python 3.2

Code:

p1 = int(input()) 
if p1 <= 9 and p1 >= 1: 
    pass 
else: 
    print('ERROR 404. Invalid input. Please try again.') 
    p1 = input() 
+1

klingt wie du brauchst eine 'loop'? – corn3lius

+1

Normalerweise verwende ich Schleife in solchen Fällen. Wenn die Eingabe gültig ist, fahren Sie fort. Sonst Schleife. Ich denke nicht, dass Sie Anweisungen in Python wie goto in c springen können –

Antwort

5

Run in einer Schleife und nie brechen, bis die Eingabe die Kriterien erfüllt.

while True: 
    p1 = int(input("input something: ")) 
    if p1 <= 9 and p1 >= 1: 
     break 

    print('ERROR 404. Invalid input. Please try again.') 

Dieser Code wird eine Ausnahme ausgelöst, wenn Sie einen Wert eingeben, um das Programm zu einem int und beenden konvertiert werden kann.

Um dies zu umgehen fangen die Ausnahme und weitermachen.

while True: 
    try: 
     p1 = int(input("input something: ")) 

     if p1 <= 9 and p1 >= 1: 
      break 
    except ValueError: 
     pass 

    print('ERROR 404. Invalid input. Please try again.') 
Verwandte Themen