2016-12-20 9 views
0

問題はタイトルにあります:elseセクションのif文の始めにどうやって行きますか?elseセクションのifステートメントの先頭にどのように行くのですか? Python 3.2

コード:

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

「ループ」が必要ですか? – corn3lius

+1

私は通常このような場合にループを使用します。入力が有効であれば処理を続行します。その他のループ。私はあなたがcでgotoのようなpythonでステートメントをジャンプすることができるとは思わない –

答えて

5

ループ内で実行し、決して入力が基準を満たすまで抜け出します。あなたはintに変換し、プログラムを終了することができない値を入力する場合

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

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

このコードは、例外がスローされます。

これを回避するには、例外をキャッチして実行します。

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.') 
関連する問題