我是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)
答案 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)