ОК, я использую Python 2.7.3 и вот мой код:Глобальные переменные в рекурсии. 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))
Я пытаюсь изменить переменную count
внутри функции leng
. Вот то, что я пробовал:
- Если я ставлю переменный счетчик вне функции
lenRecur
он прекрасно работает в первый раз, но если я пытаюсь снова без перезагрузки оболочки Python, граф (очевидно) Безразлично» t, поэтому он продолжает добавлять. - Если я меняю линию
count += 1
наcount = 1
, она также работает, но выход (очевидно) один.
Итак, моя цель состоит в том, чтобы получить длину строки, используя рекурсию, но я не знаю, как отслеживать количество букв. Я искал информацию о глобальных переменных, но я все еще застрял. Я не знаю, понял ли я это еще, или если у меня есть проблема в моем коде.
Заранее благодарен!
не может видеть рекурсию. – oleg
Извините, сейчас все в порядке! –