Python递归
def get_digits(n):list1 = []
if n:
i = n % 10
list1 = get_digits(n // 10)
return list1.append(i)
else:
return list1
num = int(input('请输入数字:'))
list2 = get_digits(num)
print(list2)
为什么运行代码后会报错,求助(下面是报错内容)
return list1.append(i)
AttributeError: 'NoneType' object has no attribute 'append' list1在get_digits(n // 10)之后就变成了None 为什么运行代码后会报错,求助
因为你只有最后一次递归返回的是一个列表,前面的递归返回的全部都是 None
list1.append(i) 并没有返回值,导致你的递归返回值为 list1 = None
对 None 使用append 方法导致报错 Twilight6 发表于 2020-5-31 14:33
因为你只有最后一次递归返回的是一个列表,前面的递归返回的全部都是 None
list1.append(i) 并没有返回 ...
懂了,我再改改代码 {:7_126:}
页:
[1]