好的,我使用的是 Python 2.7.3,这是我的代码:
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
。以下是我尝试过的事情:
- 如果我将变量 count 放在
lenRecur
函数之外,它第一次可以正常工作,但是如果我在不重新启动 python shell 的情况下再次尝试,则计数(显然)不会重新启动,所以它会继续添加。 - 如果我改变它也可以
count += 1
工作count = 1
,但输出(显然)是一个。
所以,我的目标是使用递归来获取字符串的长度,但我不知道如何跟踪字母的数量。我搜索了有关全局变量的信息,但我仍然卡住了。我不知道我是否还没有理解它,或者我的代码是否有问题。
提前致谢!