2014-02-17 66 views
0

我是新來的蟒蛇和im確保解決這個很簡單,但我不能讓我的頭靠近它。我試圖編寫一個函數,當函數被調用時更新一個變量。函數第一次被調用時,變量應該是0,每次函數被調用後,變量應該是1.更新函數中的變量

如果我要調用函數5次,我會期待這個結果。

status = 0 
status = 1 
status = 1 
status = 1 
status = 1 

回答

1
def function(status): 
    if function.wasCalled == True: 
     status = 1 
    function.wasCalled = True 
    return status 

function.wasCalled = False 
status = 0 

print(function(status)) 
print(function(status)) 
print(function(status)) 
print(function(status)) 
print(function(status)) 
print(function(status)) 
+0

我相信這適用於我想要做的事情。非常感謝你 – user3299406

0

只需聲明一個全局變量並在函數內更新它。

status = 0 

def my_function(): 
    global status # Needed to modify global copy of globvar 
    status = 1 

my_function() 
print status # Should be 1 

這會做伎倆。或者你想在每次調用函數時增加狀態?喜歡,稱它5次,狀態= 5?這裏 試試這個:https://ideone.com/KnQEWx

+0

我只想增加一次狀態值。因此,第一次調用my_function的狀態將等於0,那麼每次之後狀態將等於1.這是否合理? – user3299406

0

使用下面的代碼:

高清YOURNAME(): X = 1 而真: 如果x == 1: 印刷(0) ELIF X != 1: print(1) YourName()