N Queens Puzzle을 해결하기위한 프로그램을 작성하려고합니다. 코드가 FindPosition(finalArray, startArray)
을 재귀 적으로 호출하려고하면 name 'FindPosition' is not defined
오류가 발생합니다. 어떻게 제대로 함수를 호출합니까?자체 내부에 재귀 함수가 정의되어 있지 않습니다.
class TheQueensAlgoritm():
def FindPosition(finalArray, startArray):
if len(startArray)==0:
print(finalArray)
return
else:
startIndex = 0
while startIndex <= len(startArray):
finalIndex = len(finalArray) - 1
while finalIndex >= 0:
if (not(startArray[startIndex] == finalArray[finalIndex] - finalIndex + startIndex) and not(startArray[startIndex] == finalArray[finalIndex] + finalIndex - startIndex)):
finalIndex = finalIndex - 1
else:
break
finalArray.append(startArray[startIndex])
startArray.remove(finalArray[-1])
FindPosition(finalArray, startArray)
startIndex = startIndex + 1
startArray.append(finalArray[-1])
finalArray.remove(startArray[-1])
FindPosition(finalArray, startArray)
startArray = []
finalArray = []
boardSize = input("Type the size of the board = ")
boardSize = int(boardSize)
for i in range (0, boardSize):
startArray.append(i)
finalArray.append(startArray[random.randint(0,boardSize-1)])
startArray.remove(finalArray[0])
FindPosition(finalArray, startArray)
왜 수업을 들었습니까? – user2357112
잘 모르겠지만 삭제하면 문제가 해결됩니다. 감사합니다 – Paier