N*N 行列の行列式を見つけるプログラムを作成しようとしていますが、これが私のコードです。
from copy import deepcopy
n = input()
myMatrix = []
for i in range(n):
myMatrix.append(raw_input().split())
def findMinor(matrix, i):
minor = deepcopy(matrix)
del minor[0]
for b in range(len(matrix)-1):
del minor[b][i]
return minor
def det(matrix):
determinant = 0
if len(matrix) == 1:
determinant = matrix[0][0]
else:
for x in range(len(matrix)):
coFactor = det(findMinor(matrix,x))
determinant += int(matrix[0][x]) * (-1)**(2+x) * coFactor
return determinant
print det(myMatrix)
No-Type エラーが発生していますが、それは再帰的なアプローチであるため、関数自体を呼び出しているためだと確信しています。
これを修正する方法はありますか?おそらく2番目の関数をダンプすることさえありますか?