该代码有一个我找不到的错误。与您的代码python语法错误无效语法
def cut_rod(p, n):
if (n == 0):
return 0
q = p[n];
for i in range(1,n):
q = max(q, p[i] + cut_rod(p, n - i));
return q;
return;
# your code goes here
p1 = [1, 5, 8, 9, 10, 17, 17, 20, 24, 30];
n1 = len(p1);
print n1;
a = cut_rod(p1,n1);
你怎么知道有一个错误?发布错误追溯将帮助人们帮助你! –
Python使用从零开始的索引。这意味着列表中的第一个项目在索引0处,而不是1.当您使用'n1 = len(p1)'时,该索引处的项目实际上恰好在列表结束之后:不存在。你应该使用'n1 = len(p1) - 1'。 – zondo
嗨,zondo,我是Python新手。错误说“RuntimeError:超过最大递归深度”。感谢回复。 – yx131