Python 索引器:移动角色的列表索引超出范围

Python 索引器:移动角色的列表索引超出范围,python,pygame,Python,Pygame,我试图让一个角色移动,但当我走了一定的距离,它得到了一个错误 我找不到可行的解决办法,所以我自己试了几件事 global walkCount 赢。布利特(背景,(0,0)) 如果walkCount+1>=27: 步行次数=0 如果留下: blit(walkLeft[walkCount//3],(x,y)) 步行次数+=1 pygame.display.update() 埃利夫权利: win.blit(walkRight[walkCount//3],(x,y)) 步行次数+=1 pygame.di

我试图让一个角色移动,但当我走了一定的距离,它得到了一个错误

我找不到可行的解决办法,所以我自己试了几件事

global walkCount
赢。布利特(背景,(0,0))
如果walkCount+1>=27:
步行次数=0
如果留下:
blit(walkLeft[walkCount//3],(x,y))
步行次数+=1
pygame.display.update()
埃利夫权利:
win.blit(walkRight[walkCount//3],(x,y))
步行次数+=1
pygame.display.update()
文件“C:\Users\drfur\Desktop\Game\Game.py”,第166行,在
rwg()
rwg中第55行的文件“C:\Users\drfur\Desktop\Game\Game.py”
win.blit(walkRight[walkcount//3],(x,y))
索引器:列表索引超出范围

它发生在左侧和右侧

行走次数的最大值为26。
26//3
的结果是8。您必须确保列表
walkLeft
walkRight
包含9个元素

通过按列表长度计算除法提醒,可以避免列表索引超出范围错误。余数可由模运算符(
%
)计算。看见e、 g:

如果左侧:
i=(walkCount//3)%len(walkLeft)
win.blit(walkleet[i],(x,y))
埃利夫权利:
i=(walkCount//3)%len(walkRight)
win.blit(walkRight[i],(x,y))
步行次数+=1
pygame.display.update()

什么是
向右行走
向左行走
File "C:\Users\drfur\Desktop\Game\game.py", line 166, in <module>
   rwg()

File "C:\Users\drfur\Desktop\Game\game.py", line 55, in rwg
   win.blit(walkRight[walkcount//3], (x,y))

IndexError: list index out of range