문자열의 알파벳 문자 수를 반환 (인쇄하지 않음)하기위한 재귀 함수에서 작업하고 있습니다. 반복을 통해이 작업을 수행하는 것이 매우 쉽지만 이해 하겠지만 내 목표는 재귀 적으로 수행하는 것입니다. 필자가 작성한 함수는 처음 호출 될 때 제대로 실행되지만 다음 실행 전에 카운터를 재설정 할 수있는 방법을 찾을 수 없습니다. 여기에 내가 가진 무엇 : 나는 다른 변수에 카운터의 값을 할당하고 카운터를 재설정 시도했다하지만 난 그 값을 추출하고 여전히 다시 한 관리 할 수 없습니다재귀 후 카운터 재설정
counter = 0
def recAlphaCount(s):
global counter
if len(s) == 0:
return 0
else:
if s[0].isalpha():
counter += 1
recAlphaCount(s[1:])
return counter
.
글로벌 카운터를 사용하지 않고 재귀 적으로 이것을 작성할 수 있습니까? 아니면 카운터를 반환하고 함수 내에서 재설정하는 방법이 있습니까?
감사
내가 INT (부울)를 몰랐어요 0 또는 1, 이것은 훌륭한 솔루션입니다 반환합니다. 감사합니다 – eeyore
@eeyore 당신은 환영합니다 :) – thefourtheye