該代碼有一個我找不到的錯誤。與您的代碼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