我的代码有问题。因为我无法从嵌套函数内部的外部函数访问列表。我尝试了非本地,但它给了我一个错误“发现非本地“a”的非绑定。
def func(x, y):
nonlocal a
nonlocal b
if x >= 0 and y >= 0:
if x == 0 and y == 0:
return (func(x - 1, y - 1) + a[x] * b[y])
else:
return max(func(x - 1, y - 1) + a[x] * b[y], func(x - 2, y) + a[x - 1] * a[x], func(x, y-2) + b[y - 1] * b[y])
elif x >= 1 and y < 0:
return func(x - 2, y) + a[x - 1] * a[x]
elif y >= 1 and x < 0:
return func(x, y-2) + b[y - 1] * b[y]
else:
return 0
def tvshows(a, b):
x = func(len(a) - 1, len(b) -1)
return x
test_a = [23,45, 12, 16]
test_b = [33,13, 17, 18]
tvshows(test_a, test_b)
有谁知道问题可能是什么?此致