【发布时间】:2022-01-09 21:18:03
【问题描述】:
我想从一个数字中提取所有的零,并使用 Python 递归找到零的长度。我已经尝试了以下代码,但它给了我一个错误。我可以使用 for 循环来做到这一点,但我想知道 python 递归是如何做到这一点的。此代码输出应为 3。
def zeros(n):
x = list(str(n))
if x == []:
return []
else:
head = x[0]
tail = "0"
return len([head]) + zeros(tail)
print(zeros(10010))
RecursionError: 调用 Python 对象时超出最大递归深度
【问题讨论】:
-
我认为
tail应该是x[1:],而不是"0"