OK, używam Python 2.7.3 i tu jest mój kod:Zmienne globalne w rekursji. Python
def lenRecur(s):
count = 0
def isChar(c):
c = c.lower()
ans=''
for s in c:
if s in 'abcdefghijklmnopqrstuvwxyz':
ans += s
return ans
def leng(s):
global count
if len(s)==0:
return count
else:
count += 1
return leng(s[1:])
return leng(isChar(s))
Próbuję zmodyfikować zmienną count
wewnątrz funkcji leng
. Oto rzeczy, które próbowałem:
- Jeśli mogę umieścić zmienną liczbę poza funkcją
lenRecur
działa dobrze za pierwszym razem, ale gdy próbuję ponownie bez konieczności ponownego uruchamiania Pythona powłoki, hrabia (oczywiście) nie robi” t restart, więc ciągle dodaje. - Jeśli zmienię linię
count += 1
dlacount = 1
to również działa, ale wynik jest (oczywiście) jeden.
Moim celem jest uzyskanie długości ciągu przy użyciu rekursji, ale nie wiem, jak śledzić liczbę liter. Szukałem informacji na temat zmiennych globalnych, ale nadal utknąłem. Nie wiem, czy jeszcze tego nie zrozumiałem, czy też mam problem z moim kodem.
Z góry dziękuję!
nie widzi samej rekursji. – oleg
Przepraszam, teraz jest dobrze! –