2017-02-03 164 views
-2

我想用python做一个程序,但是我在修改全局变量时遇到了问题。我正在运行Python 2.7。当我运行下面的代码并在python中运行one()时,它不会像其应该那样将operationOne从0更改为1。关于如何让这个函数中的东西有任何想法修改全局变量?函数不会改变全局变量

operationOne = 0 
operationTwo = 0 
operationUsed = False 
def one(): 
    global operationOne 
    global operationTwo 
    global operationUsed 
    if operationUsed == False: 
     operationOne = 1 
    if operationUsed == True: 
     operationTwo = 1 
+1

您检查'operatorUsed'但它没有在您的示例中设置。你是否应该使用全局'operationUsed' ...? – AlG

+0

'operatorUsed'没有被定义。尽管如果我修复了错字,代码仍可正常工作。 – ForceBru

+3

你拼错了布尔值,它应该是'global operationUsed'not operator – Cicero

回答

0

你是比较operatorUsedoperationUsed

当我运行此代码时,我得到错误operatorUsed未定义。

解决这个问题,它应该按预期工作。

+0

修复它和Istill有问题,如果我输入一个(),然后打印(operationOne)它将显示0 –

0

它改成这样:

operationOne = 0 
operationTwo = 0 
operationUsed = False 
def one(): 
    global operationOne 
    global operationTwo 
    global operationUsed 

    if operationUsed: 
     operationTwo = 1 
    else: 
     operationOne = 1 

写这样说,这为我工作。