在Python中遍历Matrix

时间:2015-04-18 16:57:55

标签: python

我是Python的新手,我正在尝试创建一个简单的tictactoe游戏来学习语法,并在运行以下内容时不断收到错误TypeError: object of type 'int' has no len()

board = [ 
            ['|', '|', '|' ],
            ['|', '|', '|'],
            ['|', '|', '|'] 
        ] 

def tictactoe ():

    print('\n'.join([''.join(['{:4}'.format(item) for item in row]) for row in board]))

    print(len(board))

    for i in range(0,len(board)):
        for j in range(0,len(i)):
            print(i,j)

3 个答案:

答案 0 :(得分:2)

错误来自for循环的第二行:

for j in range(0, len(i))

这不会起作用,因为你试图获得i的长度,这是一个整数值。相反,你可以通过我的范围:

for j in range(0, i)

答案 1 :(得分:0)

int has no len()表示您在len上呼叫int。扫描您的代码显示len(i)len唯一被调用的地方。事实上,如果您使用for i in range(...),那么i将是int

也许您打算使用

for i in range(0,len(board)):
    for j in range(0, i):
        print(i,j)

代替。

答案 2 :(得分:0)

for i in range(0,len(board)):
    for j in range(0,len(i)):
        print(i,j)

您在此处的第一行声明 i int 。只需使用

for j in range(0, i)