在python中组合布尔运算符的正确方法(语法)是什么?

时间:2014-12-15 21:41:45

标签: python unicode integer type-conversion

所以我正在进行简单的蟒蛇游戏(Merels)。该功能应该让玩家输入他想要移除的敌人令牌,但是如果他进入无效位置则再次询问他。 "层"变量代表位置所在的正方形(一块meles就像是3个同心正方形)和"层"变量代表图层中的位置。应该没有逻辑上的缺陷。在第三行的最后一行弹出一条错误信息,其中显示:' TypeError:list indices必须是整数,而不是unicode'。

def playerRemove(board, removeLetter):
    print("You have scored a mill! Choose an enemy Token to remove.")
    layer=0
    print("First enter the layer. (1-3)")
    layer=raw_input()
    while layerEmpty(board, layer, removeLetter):
        print("First enter the layer. (1-3)")
        layer=raw_input()

    position=9
    layer=int(layer)
    position=int(position)
    while board[layer][position]!=removeLetter or isMill(board, computerLetter):
        print("Now enter the position. (1-8)")
        position=raw_input()

我已多次遇到此问题,但到目前为止解决方案是将变量转换为带有表达式的整数

x=int(x)

但不知怎的,这不在这里工作。

1 个答案:

答案 0 :(得分:1)

在循环之前你正确地做position = int(position),所以你成功进入循环,但是在循环内你要求新的position,在这一行:

position = raw_input()

将其更改为:

position = int(raw_input())