|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
想问一个课后习题:写一个函数get_digits(n),将参数n分解出每个位的数字并按顺序存放到列表中。举例:get_digits(12345) ==> [1, 2, 3, 4, 5]
以下是我的代码,我在else里直接返回result时是[5,4,3,2,1],就想着将结果顺序倒一下,就用了reverse(),可是输出的结果是None,这是为社么?
result =[]
def fet_digits(n):
if n >0:
result.append(n%10)
return fet_digits(n//10)
else:
return result.reverse()
print(fet_digits(12345))
本帖最后由 Twilight6 于 2020-6-11 20:44 编辑
列表的 大部分方法都是在原列表上进行变化 ,没有返回值 所以返回了 None
比如 append、reverse、remove、insert、extend、sort等都是没有返回值的,但是 pop 有返回值,将列表元素取出并返回
改成这样即可:
- result =[]
- def fet_digits(n):
- if n >0:
- result.append(n%10)
- return fet_digits(n//10)
- else:
- result.reverse()
- return result
- print(fet_digits(12345))
复制代码
|
|