4

ここでは Python の初心者で、クイズの入力を 1、2、または 3 だけに制限しようとしています。
テキストが入力された場合、プログラムはクラッシュします (テキスト入力が認識されないため)

choice = input("Enter Choice 1,2 or 3:")
if choice == 1:
    print "Your Choice is 1"
elif choice == 2:
    print "Your Choice is 2"  
elif choice == 3:
    print "Your Choice is 3"
elif choice > 3 or choice < 1:
    print "Invalid Option, you needed to type a 1, 2 or 3...."
4

2 に答える 2

8

raw_input()代わりに使用してから変換しますint(その変換が失敗した場合をキャッチしValueErrorます)。範囲テストを含めてValueError()、指定された選択肢が許容値の範囲外である場合に明示的に発生させることもできます。

try:
    choice = int(raw_input("Enter choice 1, 2 or 3:"))
    if not (1 <= choice <= 3):
        raise ValueError()
except ValueError:
    print "Invalid Option, you needed to type a 1, 2 or 3...."
else:
    print "Your choice is", choice
于 2013-02-26T21:23:49.397 に答える
2

choice質問で説明されている問題の場合と思われるため、文字列であると仮定して、これを試してください。

if int(choice) in (1, 2, 3):
    print "Your Choice is " + choice
else:
    print "Invalid Option, you needed to type a 1, 2 or 3...."
于 2013-02-26T21:16:05.123 に答える