|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#1、 写一个函数get_digits(n),将参数n分解出每个位的数字并按顺序存放到列表中。
#举例:get_digits(12345) ==> [1, 2, 3, 4, 5]
result = []
def get_digits(num):
if num:
result.insert(0, num%10)
return get_digits(num//10)
else:
return result
print(get_digits(12345))
#2、 写一个函数get_digits(n),将参数n分解出每个位的数字并按顺序存放到列表中。
#举例:get_digits(12345) ==> [1, 2, 3, 4, 5]
def get_digits(num):
result = []
if num:
result.insert(0, num%10)
return get_digits(num//10)
else:
return result
print(get_digits(12345))
这两组代码有什么不同,为什么结果不一样
本帖最后由 Twilight6 于 2020-5-19 15:12 编辑
第一个result 是全局变量 第二个 result 是局部变量
第二个每次递归都会重新被赋值 result = [] 导致你直接返回result 为空
递归那每次记得加上每次递归的result即可
|
|