Я недавно начал программировать. Все работает нормально, но этот фрагмент кода меня очень заинтриговал с давних времен.Почему функция не меняет глобальную переменную даже после указания глобального
Вот мой код.
addon = 20
startup = 50 + addon
def click():
global addon, startup
addon *= 2
print addon, startup
click()
click()
click()
click()
click()
click()
click()
click()
click()
click()
Это мой выход: -
40 70
80 70
160 70
320 70
640 70
1280 70
2560 70
5120 70
10240 70
20480 70
Это то, что я ожидал: -
40 90
80 170
160 330
320 650
640 1290
1280 2570
2560 5130
5120 10250
10240 20490
20480 40970
Я просто не получаю. если каждый вызов click
обновляет глобальную переменную addon
, а также должен обновлять переменную startup
. Но не знаю, почему он не работает.
@Sanatan: Как должен 'startup' быть обновлен? Должен ли он также умножаться на '2'? – kamwo
На самом деле это было 'startup = 50 + addon' not' startup = 50'. Пожалуйста помоги. –
Где код, который меняет запуск. Вы устанавливаете его на 70 и никогда не меняете. –