【发布时间】:2014-02-23 08:21:13
【问题描述】:
我正在研究一个递归函数,该函数旨在返回(而不是打印)字符串中字母字符的数量。我知道通过迭代很容易做到这一点,但我的目标是递归地做到这一点。我编写的函数在第一次调用时正确执行,但我找不到在下一次执行之前重置计数器的方法。这是我所拥有的:
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
我尝试将 counter 的值分配给另一个变量并重置计数器,但我无法提取它的值并仍然将其重置。
有没有办法在不使用全局计数器的情况下递归地编写这个?或者有没有办法返回计数器并在函数内重置它?
谢谢
【问题讨论】:
标签: python recursion global-variables counter