0
나는 주어진 수의 자리 합 caluclates 파이썬 2.7에서 함수 작성했습니다 :파이썬 2.7에서 반복 함수의 재귀 함수는 어떻게합니까?
def dig_sum(n):
s = 0
while n:
s = s + n % 10
n = n/10
return s
을 지금 재귀 함수로 다시 작성하려고 :
def dig_sum(n):
s = 0
if n != 0:
s = n % 10
s += s
return dig_sum(n/10)
return s
에 어떤 문제가 내 재귀 함수? 그런 기능을 수행 할 때 가장 좋은 방법은 무엇입니까? 미리 감사드립니다.
- 항상 0을 반환합니다 – mdurant
You 've 당신의 질문에 대한 좋은 답변을 얻었습니다. 그러나 앞으로 더 복잡한 질문을 시작할 때 더 나은 문제를 설명하면 더 나은 결과를 얻을 수 있습니다. 당신은 단순히 "내 기능에 무슨 문제가 있습니까?"라고 물었습니다. 오류, 예외 또는 잘못된 결과를 설명하는 대신 질문에 항상 이러한 세부 사항을 포함 시키십시오. – skrrgwasme
1000 자리가 넘는 숫자에서이 코드를 실행하면 충돌이 발생합니다. 파이썬에서의 재귀는 코드가 없으면 코드가 복잡하지 않으면 피할 수 있습니다 (그렇지 않으면 CS 코드에만 해당). –