这个代码我咋感觉不能循环啊 if 一步不就结束了吗 而且递归为啥没返回啊
result = []def get_digits(n):
if n > 0:
result.insert(0, n%10)
get_digits(n//10)
get_digits(12345)
print(result)
result = []
def get_digits(n):
if n > 0:
result.append(n%10)
get_digits(n//10)
get_digits(12345)
print(result)
你是想要这个效果嘛 1,get_digits等于又会运行一次,也就是循环的效果。
2,因为向result列表里面插入了结果,所以没有返回值。 举个例子
get_digits(12345)
相当于
result.append(12345%10)
get_digits(1234)
上面那一行又相当于
result.append(1234%10)
get_digits(123)
上面那一行又相当于
result.append(123%10)
get_digits(12)
上面那一行又相当于
result.append(12%10)
get_digits(1)
上面那一行又相当于
result.append(12%10)
get_digits(0)
上面那一行中,n > 0为False,函数退出,终止循环,结果都在result列表中,所以没有返回值 你加的result,在外部添加的,不需要返回值。
页:
[1]