24课递归函数get_digits(n)的问题
1. 写一个函数get_digits(n),将参数n分解出每个位的数字并按顺序存放到列表中。举例:get_digits(12345) ==>
解题思路:利用除以10取余数的方式,每次调用get_digits(n//10),并将余数存放到列表中即可。要注意的是结束条件设置正确。
参考代码:
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):
result=[]
if n>10:
result=get_digits(n//10)
result.append(n%10)
else:
result.append(n)
return result
print(get_digits(12345)) sunrise085 发表于 2020-3-21 16:48
谢谢! 本帖最后由 jackz007 于 2020-3-21 17:08 编辑
def get_digits(n) :
result = []
if n :
result = get_digits(n // 10)
result . append(n % 10)
return result
print(get_digits(12345))
页:
[1]