大家可以分析一下两者为什么产生的结果不同
aa = 10
bb = [100]
def cat():
global aa
aa += 5
def dog():
bb[0] += 5
for x in range(5):
cat()
dog()
print(aa) # 得出的结果是35
print(bb) # 得出的结果是125
------------------------------------
import tkinter as tk
aa = 10
bb = [100]
def cat():
global aa
aa += 5
def dog():
bb[0] += 5
def game_loop():
global aa, bb
cat()
dog()
print(aa)
print(bb)
base.after(FPS, game_loop)
FPS = 400
base = tk.Tk()
base.after(FPS, game_loop)
base.mainloop()
#循环成功,得出的结果是aa=10,15,20,25......bb=[100],[105],[110]......
--------------------------------------
import tkinter as tk
aa = 10
bb = [100]
def cat():
global aa
aa += 5
def dog():
bb[0] += 5
def game_loop():
cat()
dog()
base.after(FPS, game_loop)
print(aa)
print(bb)
FPS = 400
base = tk.Tk()
base.after(FPS, game_loop)
base.mainloop()
# 结果停留在原来的数值上a=10,b=[100],没有变化