2017-03-05 9 views
-1
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)])) 

以下のコードを実行しようとしているときに私は上記のコードが間違っている次のエラーにPythonの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 
+2

コードを異なるデバッグ可能な行に分割し、エラーの発生場所を確認します。 – DeepSpace

+0

ありがとうございます。print文の2番目のsum関数を削除する必要があります –

答えて

0
sum(arr[i+1][j+1]) 

を取得し、arr[i+1][j+1]はそれがだ、整数、ではないリストでありますあなたはTypeError: 'int' object is not iterableだ理由:ところで

を、@のdeepspaceは、我々はいくつかのニシキヘビコードを書きたいのですが、良い提案をしたが、コードを記述することがより重要ですそれはデバッグとリファクタリングが容易です。

関連する問題