出于某種原因,即使我在 while 回圈中添加了一個計數器,我的計數器也沒有更新?
代碼:
counter = 1
def loo(counter):
counter =1
return counter
while 1:
print(loo(counter))
uj5u.com熱心網友回復:
發生這種情況是因為函式內的計數器變數是區域的,而不是全域的。因此它只會在函式內部更新。但是,如果您將函式的值分配給全域計數器,您將實作您想要的。
glob_counter = 1
def loo(local_counter):
local_counter = 1
return local_counter
while 1:
glob_counter = loo(glob_counter)
print(glob_counter)
uj5u.com熱心網友回復:
當您將計數器作為函式的引數傳遞時,您將創建一個新實體,因此原始變數計數器不會更新并且其值保持為 1。
改為這樣做:
counter = 1
def loo(counter):
counter =1
return counter
while 1:
counter = loo(counter)
print(counter)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/338419.html
