코드에 내가 찾을 수없는 오류가 있습니다. 코드와파이썬 문법 실수가 잘못되었습니다. 구문
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);
어떻게 오류가 알고 않습니다
이 시도? 오류 추적 표시를 게시하면 사람들이 귀하를 도울 수 있습니다! –
파이썬은 0부터 시작하는 색인을 사용합니다. 즉, 목록의 첫 번째 항목은 1이 아니라 인덱스 0에 있음을 의미합니다. 'n1 = len (p1)'을 사용하면 해당 색인의 항목은 실제로 목록의 끝 바로 다음에 존재하지 않습니다 (존재하지 않음). 'n1 = len (p1) - 1'을 사용해야합니다. – zondo
안녕하세요, zondo, 저는 Python을 처음 사용합니다. 오류는 "RuntimeError : 최대 재귀 깊이 초과"라고 표시합니다. 답장을 보내 주셔서 감사합니다. – yx131