|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1. 写一个函数get_digits(n),将参数n分解出每个位的数字并按顺序存放到列表中。举例:get_digits(12345) ==> [1, 2, 3, 4, 5]
def fun1(a):
result = []
if a:
result = fun1(a // 10)
return result.append(a%10)
else:
return []
a = int(input("输入:"))
fun1(a)
这是我写的,有两个问题
1、为什么报错为
Traceback (most recent call last):
File "C:\Users\asus\Desktop\guishi.py", line 10, in <module>
fenfen(a)
File "C:\Users\asus\Desktop\guishi.py", line 4, in fenfen
result = fenfen(a // 10)
File "C:\Users\asus\Desktop\guishi.py", line 4, in fenfen
result = fenfen(a // 10)
File "C:\Users\asus\Desktop\guishi.py", line 5, in fenfen
return result.append("a%10")
AttributeError: 'NoneType' object has no attribute 'append'
2、这个代码思路行的通吗,如果不行,怎么修改
行不通,因为 result.append() 方法没有返回值,而且 result 不能放在函数体内。
帮你修改了:
- result = []
- def fun1(a):
- if a:
- # 将 a % 10 添加到列表的头部
- result.insert(0, a % 10)
- fun1(a // 10)
- else:
- return
- a = int(input("输入:"))
- fun1(a)
- print(result)
复制代码
|
|