所以我正在进行简单的蟒蛇游戏(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)
但不知怎的,这不在这里工作。
答案 0 :(得分:1)
在循环之前你正确地做position = int(position)
,所以你成功进入循环,但是在循环内你要求新的position
,在这一行:
position = raw_input()
将其更改为:
position = int(raw_input())