import numpy as np
def lcs(i, j):
global x, y, c
if i <= 0 or j <= 0:
return 0
else:
if c[i][j] < 0:
if x[i - 1] == y[j - 1]:
c[i][j] = lcs(i - 1, j - 1) + 1
else:
m = lcs(i - 1, j)
n = lcs(i, j - 1)
print m, n
c[i][j] = max(m, n)
else: return c[i][j]
c = np.zeros((8, 8), int)
c = c - 1
x = 'ABCBDAB'
y = 'BDCABA'
lcs(7, 6)
print c
程序有bug,所以我查找'm','n',
打印结果出现'无'
例如:
0 0
0 None
0 None
0 None
None None
然后程序出错:
TypeError: long() argument must be a string or a number, not 'NoneType'
我不知道“无”来自哪里
我是新手,谢谢
答案 0 :(得分:0)
我不知道“无”来自哪里
如果你没有返回任何东西,python函数的返回值是None
。
特别是,您不会在if c[i][j] < 0:
分支中返回任何内容。