計數變量我有值的數組:問題可以用Python while循環
increase_pop = [500, -300, 200, 100]
我試圖找到的最低值和最高值的指數。我的大部分代碼都可以工作,除了一個問題,一切似乎都進行得很順利。我的代碼的其餘部分如下所示:
max_value = increase_pop[0]
min_value = increase_pop[0]
count = 0
while count < len(increase_pop):
if increase_pop[count] > max_value:
max_year = count
max_value = increase_pop[count]
elif increase_pop[count] < min_value:
min_value = increase_pop[count]
count += 1
print(min_value)
print(max_value)
此代碼正是我想要的最小和最大值。不過,我也想要這些職位的指數值。所以對於最大值我有變量max_year =計數分配給它。因此,我認爲max_year將被分配到發現max_value的位置處的計數。但是,當我做了打印(MAX_YEAR)我得到以下錯誤:
UnboundLocalError: local variable 'max_year' referenced before assignment
有誰知道我的(可能)很小/次要的問題是什麼?我忘了什麼?
循環 – gherkin
找到最大/最小的另一種方法前加MAX_YEAR = 0:(increase_pop)'MAX(枚舉, key = lambda x:x [1])[0]' –
像這樣使用while循環對推理代碼很有好處,但更常見的Python會使用'for index,pop_count枚舉(increase_pop):'索引和價值。 – RemcoGerlich