我試圖循環遍歷一個函數並使用在程序的主要作用域中定義的變量,但由於某種原因,它沒有傳遞到我的函數中。這是我第一次在Python中使用函數和變量作用域,我通過Python文檔以及這裏的一些帖子閱讀,但似乎無法弄清楚我做錯了什麼。在函數中定義變量作用域
該函數將是遞歸的,因此我無法在函數頭部定義它們,否則它只會重新定義每次。我試着在我的文件中做了this的文章,但它似乎沒有工作。
我都在一個文件中的主+功能和定義我想作爲全球使用我想在使用它們的函數中的變量。
lv1Count = 12
lv2Count = 14
lv3Count = 18
lv4Count = 4
AL = []
def opt(target):
global lv4Count
global lv3Count
global lv2Count
global lv1Count
global AL
goal = target
if (goal <= 0 & lv4Count < 0):
pass
if (goal <= 1 & lv1Count < 0):
pass
if (goal == 2 & lv2Count < 0):
pass
if (goal == 3 & lv3Count < 0):
pass
if (goal == 4 & lv4Count < 0):
pass
opt(4)
我全部換成了如果與通報表爲了避免過多的代碼,但基本上每當從這些語句中返回一些內容時,使用計數器的比較不起作用,因爲它沒有成功讀取此變量的值,並且不會發生該功能。
你能解釋一下到底是什麼你想幹什麼? 「全球化」並不是一個好主意,但除此之外,我沒有理由不「成功讀取價值」:你是什麼意思? – brianpck