自己写的程序出现了问题
为什么它返回的不是‘321’def hui(x):
y=0
y=str(x)
length=len(y)
if length==0:
return None
else:
return y+hui(x-1)
print(hui(321)) 我这直接报错了,你的代码是打算干嘛的 同楼上 , 报错了
你的目的是? 你这死循环啊,Length==0,是不会为0的
你不会以为x=0,它就退出了吧,‘0’ 的长度是1 网上搜索了一下,是递归深度的问题可以加上 import sys
sys.setrecursionlimit(100000) 虽然不知道你要干嘛,但是这样就不会报错了:
def hui(x):
y=str(x)
length=len(y)
# 任何数字转换成字符串length都不会为0的
if length==1:
return "0"
else:
return y+hui(x-1)
print(hui(321))
这里递归是有问题的,它会一直循环,直到x为0,返回一个None。
页:
[1]