整数和字符串的Python输入验证


问题内容

我是编程新手,在进行输入验证时遇到问题。我的程序需要输入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!')

问题答案:

由于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!')