2015-04-03 119 views
0

我寫了以下代碼:改變全局變量的函數失效 - 如何修復它?

row = 16 
col = 16 

pl = -1 
pr = 1 
ql = -1 
qr = 1 

def Except(a, b): 
    global pl, pr 
    global ql, qr 

    pl = -1 
    pr = 1 
    ql = -1 
    qr = 1 
    if(a == 0): 
     pl = 0 
    if(a == row-1): 
     pr = 0 
    if(b == 0): 
     ql = 0 
    if(b == col-1): 
     qr == 0 

    return None 

功能Expect(a,b)檢查ab的值,並且如果ab需要它改變特定值(全局變量)plprqlqr。但qr惹上麻煩。 我期望的代碼的工作原理如下:

>>> Except(0,15) 
>>> qr 
0 

但是它不工作 - qr不會改變。我不知道爲什麼代碼不起作用。 (另一個變量並不是會造成問題,並且工作正常。)您能幫我嗎?

回答

2

簡單錯字

變化qr == 0qr = 0

首先檢查是否QR是等於0且確實沒有分配,第二是賦值運算符