0

Pythonで複数のエラーをどのように処理するのだろうと思っていました。

例えば:

ユーザーは 0 から 9 までの整数を入力します。整数が範囲外の場合、プログラムはそう言い、有効な入力が得られるまで別の入力を求めます。入力が整数でない場合、プログラムはそれが無効な入力であると判断し、有効な入力が得られるまで別の入力を求めます。最後に、入力が提供されない場合、プログラムは入力が必要であると判断し、有効な入力が得られるまで別の入力を求めます。これら 3 つのエラーは、1 つの入力変数に対して区別する必要があります。

事前に助けてくれてありがとう

4

3 に答える 3

0

ユーザー入力をいくつかの基準に照らして検証し、いずれかが失敗した場合に新しい入力を要求し続ける場合は、有効な結果が得られるまで継続するループが必要になる可能性があります。

result = None
while result is None:
    input_str = input("Enter an integer between 0 and 9:")
    if input_str == "":
        print("An empty input is not valid.")
    else:
        try:
            result = int(input_str)
            if not 0 <= result <= 9:
                print("That number out of bounds.")
                result = None
        except ValueError:
            print("That is not an integer.")

# do stuff with result here
于 2014-05-27T03:18:42.210 に答える
0

これに沿って何かを試してください:

wrong = True
while wrong:
        num = input("Enter a number between 0 and 9: ")
        if not num:
                print("Please enter valid input.")
                continue

        try:
                num = int(num)
        except ValueError:
                print("Please enter valid input.")
                continue

        if num < 0 or num > 9:
                print("Please enter a number between 0 and 9.")
                continue

        wrong = False

print(num)

これは次のように実行されます。

bash-3.2$
Enter a number between 0 and 9: 
Please enter valid input.
Enter a number between 0 and 9: 
Please enter valid input.
Enter a number between 0 and 9: hhello
Please enter valid input.
Enter a number between 0 and 9: 90
Please enter a number between 0 and 9.
Enter a number between 0 and 9: -2324
Please enter a number between 0 and 9.
Enter a number between 0 and 9: aisjdo93rwfeljks
Please enter valid input.
Enter a number between 0 and 9: 5
5
于 2014-05-27T03:48:28.783 に答える