0
정의되지 않은 :나가서 설명하자면 NameError : 전역 이름 'Player1_row은'나는 AI에 대해이 콩알 만 발가락 게임 (나는 지금 AI를 개선하고) 쓴
Matrix = [[0, 0, 0],
[0, 0, 0],
[0, 0, 0]]
Matrix_2 = [[" ", " ", " "],
[" ", " ", " "],
[" ", " ", " "]]
def turnX():
Player1_row = int(raw_input("P1 What row do you want?"))
Player1_row = Player1_row - 1
Player1_column = int(raw_input("P1 What column do you want?"))
Player1_column = Player1_column - 1
if Player1_row > Matrix:
turnX()
if Player1_column > Matrix:
turnX()
if (1 == Matrix[Player1_column][Player1_row] or 500 == Matrix[Player1_column][Player1_row]):
print "This is an invaild move!"
turnX()
else:
Matrix[Player1_column][Player1_row] = 1
Matrix_2[Player1_column][Player1_row] = "X"
def turnY():
global Player1_row
Player2_row = int(random.randint(1, boardX))
Player2_row = Player2_row - 1
Player2_column = int(random.randint(Player1_row, boardY))
Player2_column = Player2_column - 1
if (1 == Matrix[Player2_column][Player2_row] or 500 == Matrix[Player2_column][Player2_row]):
turnY()
else:
print "AI Turn:"
Matrix[Player2_column][Player2_row] = 500
Matrix_2[Player2_column][Player2_row] = "O"
을하지만이 오류가 점점 오전 :
NameError: global name 'Player1_row' is not defined`.
을
저는 AI가 플레이어의 마지막 움직임을 차단하려고합니다.
함수'turnX()'의 변수'Player1_row'는 로컬입니다. 'turnX()'가 리턴하자마자 파괴되고,'turnY()'에서는 접근 할 수 없다. 'global Player1_row'를'turnX()'에 추가 할 수 있습니다. – DyZ
파이썬은 어떤 줄에 문제가 있었는지 보여주는 스택 추적을 제공했습니다. 전체 추적을 게시하십시오. 파이썬은 당신에게 말했지만, 문제가있는 곳을 찾기 위해 코드를 파헤 치기를 기대합니다! – tdelaney