4

私はプログラミングに不慣れで、入力検証を行うときに問題があります。私のプログラムでは、1から10までの数字または文字を入力する必要がありyますが、これに対してエラーハンドラを実行できないようです。

def checkingInput():
    while True:
        try:
            a = input()
            if 10 >= a >= 1 or a == 'y':
                return value
            else:
                print('Invalid input!')
        except NameError:
            print('Name error!Please try again!')
        except SyntaxError:
            print('Syntax Error!Please try again!')
4

1 に答える 1

4

jamylakが提案したように、if条件を次のように変更します。

if a == 'y' or 1 <= int(a) <= 10:

プログラム:

def checkingInput():
    while True:
        try:
            a = input('enter')
            if a == 'y' or 1 <= int(a) <= 10:
                return a
            else:
                print('Invalid input!')
        except ValueError:
            print('Value error! Please try again!')
于 2012-05-10T05:35:42.183 に答える