>

작업중인 AI 코드에서 체스 판의 사각형이 비어 있는지 확인해야합니다. 이것은 0의 nxn 행렬로 표시되며 코드의이 부분에서 프로그램은 현재 사각형 (배열의 좌표)이 비어 있는지 확인합니다.

# Check if a square is empty
def square_is_empty(i,j, state):
      if state[i][j] == 0:
         return True
      return False  

그러나 다음과 같은 출력 오류가 발생합니다 :

in square_is_empty
    if state[i][j] == 0:
TypeError: 'int' object has no attribute '__getitem__'

동일한 문제에 대한 여러 답변을 읽었음에도 여전히 내 문제를 해결하지 못했습니다! 감사합니다

  • 답변 # 1

    어떻게 지나간 state  배열은 int 입니다   [i] 에 액세스 할 때이 오류가 발생합니다.  요소 또는 state  배열에 int 가 있습니다 그 안에 있고 [j] 에서이 오류를 트리거합니다.  요소 액세스 :

    아마도 당신의 state 를 살펴보아야 할 것입니다  변수에 int 가 포함될 수있는 이유를 판별하십시오.  목록 데이터 유형 대신. 가장 쉬운 방법은 print state 를 인쇄하는 것입니다.

관련 자료

  • 이전 c # - dictionary trygetvalue가 참조를 얻는 대신 인스턴스를 만듭니다
  • 다음 php - Instagram URL을 포함으로 교체