如果 0<upperpipes[0]['x']<5: KeyError: 0,有人能帮我解决这个错误吗

问题描述

这是代码:- 我遇到了 upperpipes 的问题。要么它无法访问 upperpipes 的第一个元素的键,即 'x' 或者我无法理解的其他内容。帮我解决这个错误

def mainGame():
    upperpipes=[
        {'x': SCREENWIDTH + 200,'y': newPipe1[0]['y']},{'x': SCREENWIDTH + 200 + (SCREENWIDTH / 2),'y': newPipe2[0]['y']}
                ]

    lowerpipes = [
        {'x': SCREENWIDTH + 200,'y': newPipe1[1]['y']},'y': newPipe2[1]['y']}
                 ]      
     
        #Add A NEW PIPE WHEN THE firsT IS ABOUT TO cross THE LEFT MOST PART OF SCREEN
        if 0<upperpipes[0]['x']<5:
            newpipe=getRandomPipe()
            upperpipes.append(newpipe[0])
            lowerpipes.append(newpipe[1])

解决方法

列表似乎是空的。检查列表是否为空:

if 0<upperpipes[0]['x']<5:

if not upperpipes or 0 < upperpipes[0]['x'] < 5:
    # [...]