最近プログラミングを開始しました。すべてがうまくいっていますが、このコードは長い間興味をそそられています。グローバル変数を指定しても関数がグローバル変数を変更しない理由
ここに私のコードです。
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'ではなく' startup = 50'でした。助けてください。 –
スタートアップを変更するコードはどこにありますか?あなたは70に設定し、決してそれを変更しません。 –