有人可以告诉我为什么它会给我一个缩进的块错误吗?我以为我做得对。
for j in range(1,size[0]-1):
if (seq1[j]=='A'): #Go vertical seq1[i]==seq2[j]
temp_d=dy_matrix[i-1][j-1]+sub_matrix[0][0] #AA match
temp_h=dy_matrix[i][j-1]+g
#Compare!!! temp_d, temp_h, temp_v
IndentationError: expected an indented block
答案 0 :(得分:2)
如错误所示,您的缩进有问题。
for j in range(1,size[0]-1):
if (seq1[j]=='A'): #Go vertical seq1[i]==seq2[j]
temp_d=dy_matrix[i-1][j-1]+sub_matrix[0][0] #AA match
temp_h=dy_matrix[i][j-1]+g
将每个缩进设置为四个空格或一个选项卡,您的代码应该可以正常工作。
编辑:正如Matthias所说,空格是这里的首选解决方案。
答案 1 :(得分:1)
代码中的这一行:
if (seq1[j]=='A'): #Go vertical seq1[i]==seq2[j]
混合了制表符和空格字符。
有时即使您在视觉上正确地保持缩进,检查所有缩进字符是否相同(所有空格或所有制表符)都很重要
答案 2 :(得分:1)
for j in range(1,size[0]-1):
if (seq1[j]=='A'): #Go vertical seq1[i]==seq2[j]
temp_d=dy_matrix[i-1][j-1]+sub_matrix[0][0] #AA match
temp_h=dy_matrix[i][j-1]+g