为什么总是弹出列表索引超出范围

img

img


可以运行出来输赢,但是为什么运行不出来无效的选择,救命,也试了if语句,现在使用的try_except

print无效选择之后,你要让玩家重新输入,直到输入正确才可以运行下面的步骤,因为你在输入错误之后,没有抛出异常或者重新输入,导致后面的3超出了范围,建议用while循环,另外try没有抛出异常,except那一步是不会执行的,直接用while判断就好。

while(player not in [0,1,2])
{
      print("错误")
      player = int(input("请输入"))
}

except 不是这样用的,它是用来捕捉错误,而不是判断的,应该是这样:

try:
    player = int(input('请选择对应的数字:'))
    if player not in [0, 1, 2]:
        raise IndexError('出界')  # 需要有错误 except 才能捕捉到
except IndexError:
    print('无效的选择,请选择0/1/2')