Python小白鸭2 发表于 2021-10-19 19:16:52

Python递归学习的问题

题目:写一个函数get_digits(n),将参数n分解出每个位的数字并按顺序存放到列表中。举例:get_digits(12345) ==>
想问一下为什么不能这样写:
def get_digits(n):
        result = []
        if n:
                result = get_digits(n//10)
                return result + list(n%10)
        else:
                return result

求大佬解答

傻眼貓咪 发表于 2021-10-19 19:24:06

本帖最后由 傻眼貓咪 于 2021-10-19 19:28 编辑

def get_digits(n: int) -> list:
    return

num = 12345
arr = get_digits(num)
print(arr)



def get_digits(n: int) -> list:
    if n < 9:
      return
    return get_digits(int(str(n)[:-1])) + )]

num = 12345
arr = get_digits(num)
print(arr)

Python小白鸭2 发表于 2021-10-19 20:46:26

不好意思 我的意思的我那样编为什么不可以鸭 问题出在哪里呢 {:10_254:}{:10_254:}

sucreshin 发表于 2024-1-7 11:52:34

list(n%10)

BSOD 发表于 2024-1-8 17:13:15


def get_digits(n):
    result = []
    if n:
      result = get_digits(n // 10)
      return result +
    else:
      return result

页: [1]
查看完整版本: Python递归学习的问题