所以基本上一个人帮助我改进了我的代码。问题是,它仍然非常令人失望并且不起作用。我想做的是重置 lenRecur.number 以便我可以再次使用该函数,使用其他字符串并获得正确答案(不是太大的答案)
我想,问题出在 hasattr 上。但我不能删除它,因为如果我这样做了,我的字符串长度计算器将无法工作。
无论如何,即使我在函数后添加 lenRecur.number = 0 ,它仍然不起作用。
这似乎是不可能的,因为当函数点击“返回”时,它就完成了,句号。如果我在“返回”之前重置它,它将返回 0,而不是正确的答案,所以是的,我在这里遇到了很大的麻烦。
def lenRecur(aStr):
if not hasattr(lenRecur, 'number'):
lenRecur.number = 0
'''
aStr: a string
returns: int, the length of aStr
'''
if aStr == '':
return lenRecur.number
else:
lenRecur.number += 1
return lenRecur(aStr[:-1])
Ps 我的程序(?)/脚本(?)的目标是测量输入字符串的长度,而不使用 input() 方法。尝试使用更原始的方法重新创建 length() 方法。
脚本必须有许多不同的输入,所以它应该重置。