TypeError:必须是str,而不是int-在python minesweeper代码中

时间:2019-04-26 18:06:35

标签: python-3.x

我需要以下代码的帮助,因为我不明白自己在做什么错。 这是Minesweeper游戏的一项功能,该游戏接收的位置类似于“ C3”,并且必须返回一个int来搜索可用位置列表中的位置。

def evalua_jugada(posicion,posiciones_posibles):

    """Convierte a la posicion ingresada en un numero de la lista de posiciones posibles"""

    indice_en_posiciones_posibles = (8 * list(ascii_uppercase).index(posicion[0].upper())) + (posicion[1] + 1) 

    return(posiciones_posibles[indice_en_posiciones_posibles])

我得到TypeError: must be str, not int

1 个答案:

答案 0 :(得分:3)

(posicion[1] + 1)是一个需要整数的运算,并且因为您的posicion是'C3',所以posicion[1]是'3',这是一个字符串,而不是3,这是一个数字。

最简单的解决方法可能是使用(int(posicion[1]) + 1)

喜欢学习Python!