如何解决调用列表中的列表时出现索引错误
我对 python 非常陌生,正在尝试使用 pygame 制作国际象棋游戏。对于棋子的位置(特别是第一个 pawn),我在一个列表中有一个列表,该列表引用了第一个列表中的索引。稍后当这个列表被调用时,当它们肯定在范围内时,我得到“IndexError:list index out of range”......希望有一点知识的人可以解释这个吗?
我想不出另一种方法来将碎片的位置分配给它们的变量,而且错误并不完全准确,所以老实说我不知道。
pawnA2 = [WHITE_PAWN,1,2]
pawnA2 == [WHITE_PAWN,2,[(pawnA2[1]),(pawnA2[2] + 1)]]
200 行之后...
for event in pygame.event.get():
if event.type == pygame.MOUSEBUTTONDOWN:
if ((pawnA2[1] - 1) * 100 + 5 ) < event.pos[0] < (pawnA2[1] * 100 + 5 ) and (8 - pawnA2[2]) * 100 + 5 < event.pos[1] < (((8 - pawnA2[2]) + 1) * 100 + 5 ):
print("yes")
screen.blit(MOVABLE_SPACE,(((pawnA2[3][0]) - 1) * 100 + 30,(8 - pawnA2[3][1]) * 100 + 30))
else:
screen.blit(third_surface,(5,505))
update_screen()
错误中引用的行是:
screen.blit(MOVABLE_SPACE,(8 - pawnA2[3][1]) * 100 + 30))
解决方法
您在 ==
赋值中使用 =
而不是 pawnA2
,导致语句的计算结果为 false 而不更改 pawnA2
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。