蟒蛇int对象不是可迭代错误试图运行下面的代码
问题描述:
import sys
import itertools
arr = [[int(arr_temp) for arr_temp in input().strip().split(' ')] for _ in range(6)]
print(max([sum(arr[i][j:j+3])+sum(arr[i+1][j+1])+sum(arr[i+2][j:j+3]) for i, j in itertools.product(range(4), repeat=2)]))
我收到以下错误蟒蛇int对象不是可迭代错误试图运行下面的代码
Traceback (most recent call last):
File "solution.py", line 6, in <module>
print(max([sum(arr[i][j:j+3])+sum(arr[i+1][j+1])+sum(arr[i+2][j:j+3]) for i, j in itertools.product(range(4), repeat=2)]))
File "solution.py", line 6, in <listcomp>
print(max([sum(arr[i][j:j+3])+sum(arr[i+1][j+1])+sum(arr[i+2][j:j+3]) for i, j in itertools.product(range(4), repeat=2)]))
TypeError: 'int' object is not iterable
答
sum(arr[i+1][j+1])
上面的代码是错误的,arr[i+1][j+1]
是一个整数,而不是一个列表,这是为什么会得到TypeError: 'int' object is not iterable
:
顺便说一句,@ deepspace取得了很好的建议,我们希望能写一些Python的代码,而是写的代码更重要这很容易调试和重构。
将您的代码拆分为不同的可调试行,并查看错误发生的位置。 – DeepSpace
谢谢,应该删除print语句中的第二个sum函数 –