2016-07-15 15 views
0

私はこのコードPythonの型エラー:「int型」オブジェクトのiterableリスト内包ではありません

check = [sum(board[r[0]] + board[r[1]] + board[r[2]]) for r in test] 
    for row in check: 
     if row == win: 
      return True 

を実行しようとすると、私は次のコードを実行したとき、私は、しかし

TypeError: 'int' object is not iterable 

エラーが出ます、長い形式で同じことをしている、それがスムーズに実行し、

for row in winConditions: 
     checkA = board[row[0]] 
     checkB = board[row[1]] 
     checkC = board[row[2]] 
     if checkA + checkB + checkC == int(win): 
      return True 

私はまだ馴染みのウィットを集めていますエラーを返しません私はそれが不可能であるかどうか、または私が逃したばかりの間違いであるかどうかは分かりません。

+2

これはSQLではないので、 'sum'関数は必要ありません。 –

+1

'sum('と ')'を削除すればうまくいくはずです。また、コード例でインデントを確認してください。スタックオーバーフローに関するPythonに関する質問をするときは、適切なインデントは**必須**です。 –

答えて

1

sumboard[r[0]] + board[r[1]] + board[r[2]](これは数字です)に電話しています。 sumは、少なくとも2つの数値または1つのiterableをパラメータとして想定しています.1つの引数を渡すだけなので、iterableであることが予想されます。

関連する問題