TypeError:' float' object不能解释为整数4

时间:2017-05-18 02:39:48

标签: python-3.x

我试图创建数独游戏,但我收到了这个错误。我认为这是因为range行;也许我做错了,但range(int(numb/numb+3))也没有用。谢谢您的帮助。

File "D:\Games\Python\sudokuV2Test2.py", line 83, in estDansSousMatrice
    for i in range(bl, bl+3):
TypeError: 'float' object cannot be interpreted as an integer"

这是代码:

def estDansSousMatrice(grille,l,c,v):
    bc=(c/3)*3
    bl=(l/3)*3

    for i in range(bl, bl+3):
        for j in range(bc,bc+3):
            if grille[i][j]==v:
                return True
    return False

2 个答案:

答案 0 :(得分:1)

由于您之前将bcbl分开,然后乘以3,请说我们输入c = 3l = 3两者的结果为{{1} } 而是3.0for i in range(int(bl),int(bl)+3):

答案 1 :(得分:0)

要明确的是,您可以避免转换回int,而不是首先将它们浮动。 //运算符执行整数除法,截断结果。这使您可以保留几乎所有原始代码。

def estDansSousMatrice(grille,l,c,v):
    bc=(c//3)*3  # Different
    bl=(l//3)*3  # Different

    for i in range(bl, bl+3):
        for j in range(bc,bc+3):
            if grille[i][j]==v:
                return True
    return False