从函数中重新分配全局布尔值



我试图从函数内部重新分配这些布尔值,并在另一个函数内部使用重新分配的值。我怎么做呢?

booleanA = False
booleanB = False
def choose():
inPut = input("A or B?: ")

if "A" in inPut:
booleanA = True
if "B" in inPut:
booleanB = True
def mainCode():

if booleanA == True:
#do something
if booleanB == True:
#do something else

一般情况下,您应该避免尝试这样做,因为这会使您的代码更难理解和调试(请参阅远距离操作)。

但是,如果你真的确定你想这样做,你需要使用global关键字告诉解释器你正在重新分配函数外定义的布尔变量,而不是创建新的变量:

def choose():
global booleanA
global booleanB
inPut = input("A or B?: ")

if "A" in inPut:
booleanA = True
if "B" in inPut:
booleanB = True

最新更新