【发布时间】:2019-07-28 15:23:00
【问题描述】:
我正在尝试使对象 X 成为背景,A 是要向上或向下移动的对象,但是一旦我使用循环将 A 更改为 X,循环会在下一行中找到 a 并且再做一次,我怎么做才能让它只改变一次并继续前进?
newlist = ['X','X','A','X','X','X','X']
for i in range(len(newlist)):
print(newlist[i])
if newlist[i] == 'A':
newlist[i] = 'X'
newlist[i+1] = 'A'
应该会显示
X
X
X
A
X
X
X
来自
X
X
A
X
X
X
X
但现在它显示
X
X
X
A
A
A
A
【问题讨论】:
-
newlist = ['X','X','X','X','X','X','A']的输出是什么 -
这似乎是XY problem。我的意思是,如果
'A'唯一重要的是它的位置,为什么不废弃列表并使用 int 来表示它的位置? -
那个输出不对。我刚刚运行了代码,得到了 2 个 X 和 5 个 A,然后是 IndexError。
标签: python loops if-statement