N = len(s1)
M = len(s2)
matrix = [[0 for i in range(N+1)] for j in range(M+1)]
gap = int(raw_input('Enter gap score'))
mismatch = int(raw_input('Enter mismatch score'))
match = int(raw_input('Enter the match score'))
matrix[0][0] = 0
for i in range(1,(N+1)):
matrix[i][0]=(matrix[(i-1)][0] + gap)
for j in range(1,(M+1)):
matrix[0][j]=(matrix[0][(j-1)] + gap)
for i in range(1,N+1):
for j in range(1,M+1):
if(s1[i-1] == s2[j-1]):
score1 = matrix[i-1][j-1] + match
else:
score1 = matrix[i-1][j-1] + mismatch
score2 = matrix[i][j-1] + gap
score3 = matrix[i-1][j] + gap
matrix[i][j] = max(score1, score2, score3)
I get the error code
Traceback (most recent call last):
File "C:\Users\Matt\workspace\ch3skills\ch3skills.py", line 67, in
matrix[0][j]=(matrix[0][(j-1)] + gap)
IndexError: list assignment index out of range
matrix[0][M]doesn't exist?len(matrix[0])is N+1 not M+1