使用indexerror创建if语句 - Python

时间:2012-11-17 18:31:42

标签: python if-statement

我正在尝试创建一个类似于蛇的游戏。不同之处在于通过使用randint接收食物配给量,然后玩家将能够选择蛇应该在哪个方向上生长,起始位置也是随机选择的。游戏领域是用矩阵构建的,因此通过选择使列表超出范围的增长方向,可以“进入墙壁”。

我的问题是,如果玩家选择以一种使列表超出范围的方式增长,那么可以创建一个以“游戏结束”结束游戏的if状态,例如:

if IndexError: list index out of range : 
         print("Game over")

通过异常处理,我的代码看起来像这样:

 try :

    if p == 0:
        table[x][y] = "+"
    elif p == 1:
        table[x][y] = "+"
        table[x][y+1] = "+"
    elif p == 2:
        table[x][y] = "+"
        table[x][y+1] = "+"
        table[x][y+2] = "+"
    else:
        table[x][y] = "+"
        table[x][y+1] = "+"
        table[x][y+2] = "+"
        table[x][y+3] = "+"
 except IndexError :
                 print ("Game Over")

但是我收到错误“unindent与任何其他缩进级别都不匹配”

1 个答案:

答案 0 :(得分:7)

使用exception handling

 try :
     #your code
 except IndexError:
    print "Game Over"