这是我可以显示我的问题的最简单方法。(使用 PyCharm 和 Python 3.8):
ball_pos1 = [0,0]
def set(a):
global ball_pos1
ball_pos1 = [a,0]
def update(x):
ball_pos1[0] += x
def setup (b,y):
set(b)
update(y)
for i in range(0,5):
print(ball_pos1)
setup(0,1)
输出 :
[0, 0]
[1, 0]
[1, 0]
[1, 0]
[1, 0]
我希望输出是:
[0, 0]
[1, 0]
[2, 0]
[3, 0]
[4, 0]
我究竟做错了什么?
ball_pos1
每次迭代列表时,您都将列表的第一个元素的值设置为 0,因此它会增加到 1 的值,然后在运行循环时再次设置回 0,这是工作代码:
ball_pos1 = [0,0]
def set(a):
global ball_pos1
ball_pos1 = [a,0]
def update(x):
ball_pos1[0] += x
def setup (y):
update(y)
for i in range(0,5):
print(ball_pos1)
if i != 0:
setup(1)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句