whj1566 发表于 2022-3-2 17:05:20

12345转化[1,2,3,4,5]问题

def Num2Chr(n):
    if n:
      return Num2Chr(n//10).append(n%10)
    else:
      return []
n = int(input("请输入转化数字:"))
print(list(Num2Chr(n)))




Traceback (most recent call last):
File "C:/Users/wanghj/Desktop/新建文件夹/Python/xxx.py", line 30, in <module>
    print(list(Num2Chr(n)))
File "C:/Users/wanghj/Desktop/新建文件夹/Python/xxx.py", line 26, in Num2Chr
    return Num2Chr(n//10).append(n%10)
File "C:/Users/wanghj/Desktop/新建文件夹/Python/xxx.py", line 26, in Num2Chr
    return Num2Chr(n//10).append(n%10)
File "C:/Users/wanghj/Desktop/新建文件夹/Python/xxx.py", line 26, in Num2Chr
    return Num2Chr(n//10).append(n%10)

AttributeError: 'NoneType' object has no attribute 'append'

以上为报错内容,感觉最里层函数已经为[],是列表类型,能用append啊,求助大神哪里想错了,谢谢!

大马强 发表于 2022-3-2 17:05:21

因为append方法是没有返回值的

大马强 发表于 2022-3-2 17:35:02

本帖最后由 大马强 于 2022-3-2 17:36 编辑

请输入转化数字:123456


def Num2Chr(n):
    if n:
      n_list = Num2Chr(n//10, )
      n_list.append(n % 10)
      return n_list
    else:
      return []


n = int(input("请输入转化数字:"))
print(list(Num2Chr(n)))

xiaosi4081 发表于 2022-3-2 22:13:12

正如上面说的,append没有返回值,

不过其实这个代码可以更简洁,

因为我们只要借助str类型的变量当中转变量就可以了

具体代码见下:

n = input("请输入转化数字:")
res =
print(res)

我看到你是用递归的是吧

如果想练习递归的话可以去学一下DFS

春天味白开水 发表于 2022-3-2 22:55:55

xiaosi4081 发表于 2022-3-2 22:13
正如上面说的,append没有返回值,

不过其实这个代码可以更简洁,


厉害,简洁,好使
页: [1]
查看完整版本: 12345转化[1,2,3,4,5]问题