XD--wang 发表于 2020-5-2 16:41:11

递归中遇到的问题

def put(x):
    global result
    result = []
   
    if x :
      t = put(x // 10)

      return result.append( x % 10)

    else:
      return result.reverse()


i = put(12345)
print(i)



求助为什么这么写返回值不存在了?i显示的是None????

qiuyouzhi 发表于 2020-5-2 16:46:51

又是一个被问烂的问题。。。
列表的大部分方法,是没有返回值的!
你得先把元素添加进列表,再返回列表

XD--wang 发表于 2020-5-2 23:37:42

qiuyouzhi 发表于 2020-5-2 16:46
又是一个被问烂的问题。。。
列表的大部分方法,是没有返回值的!
你得先把元素添加进列表,再返回列表

你好,能不能再具体一些,您的意思是不能在return中应用列表的方法吗?

qiuyouzhi 发表于 2020-5-3 07:49:22

XD--wang 发表于 2020-5-2 23:37
你好,能不能再具体一些,您的意思是不能在return中应用列表的方法吗?

列表的append是添加到列表里的,没必要有返回值,所以返回的是None,
你返回一个None,当然什么都没有。

XD--wang 发表于 2020-5-3 13:33:36

qiuyouzhi 发表于 2020-5-3 07:49
列表的append是添加到列表里的,没必要有返回值,所以返回的是None,
你返回一个None,当然什么都没有。

谢谢你
页: [1]
查看完整版本: 递归中遇到的问题