布尔已正确返回,但仍然无法正常工作

时间:2018-08-22 16:40:21

标签: python python-3.x

我是Python的新手。

我想检查用户的输入并检查输入是否被接受。该方法称为“ check_input”,我在“ running”方法的第三行中称为此方法。我给它传递了一个字符串和布尔变量。

然后我想返回inputAccepted值,然后根据它的值对其进行处理。

我已经使用了断点,并且bool本身已正确更改,但是当代码离开'check_input'方法时,bool'inputAccepted'被遗忘了。

我在做什么错了?

我的理论是无法在方法之外访问布尔值?

CreateAccountViewController

非常感谢您

2 个答案:

答案 0 :(得分:2)

您需要查看check_input的返回值,而不是输入值。

inputAccepted = check_input(guess)

也没有理由让您返回初始猜测,所以我建议重写函数check_input

def check_input(guess):
    if not re.match("[A-F]", guess): #Only accepts the letters from A-F
        print("Please only use the letters 'ABCDEF.'")
        return False

    else:
        return True

答案 1 :(得分:0)

您在函数check_input中使用“ inputAccepted”作为全局变量和形式参数,在定义函数check_input时更改参数名称,这可能会解决您的问题。