|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
函数递归那节的作业题:1. 写一个函数get_digits(n),将参数n分解出每个位的数字并按顺序存放到列表中。举例:get_digits(12345) ==> [1, 2, 3, 4, 5]
解题思路:利用除以10取余数的方式,每次调用get_digits(n//10),并将余数存放到列表中即可。要注意的是结束条件设置正确。
- def get_digits(n):
- a=[]
- if n:
- get_digits(n//10)
- return a.append(n%10)
- else:
- return a
复制代码 求指点为什么我的代码 print(get_digits(12345))输出是None?
本帖最后由 jackz007 于 2021-1-19 11:22 编辑
这一行导致的 None
列表的方法 append() 无返回值,所以,函数返回了 None
所以,应该返回列表 a 本身,而不是对 append() 方法的调用结果。
- def get_digits(n):
- a = []
- if n :
- a = get_digits(n // 10)
- a . append(n % 10)
- return a
复制代码
|
|