【发布时间】:2014-12-15 21:41:44
【问题描述】:
所以我正在开发一个简单的 python 游戏 (Merels)。这个功能应该让玩家输入他想要移除的敌人标记,但如果他进入了一个无效的位置,他会再次询问他。 “layer”变量代表位置所在的正方形(一块merels就像3个同心正方形),“layer”变量代表层中的位置。不应该有逻辑缺陷。在倒数第三行弹出一条错误消息,上面写着:'TypeError:列表索引必须是整数,而不是 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)
但不知何故,这在这里不起作用。
【问题讨论】:
-
您需要在代码的最后添加一个 position=int(position) 吗?
标签: python unicode integer type-conversion