sk8 发表于 2020-2-2 18:30:21

入门Python 递归课后题求解

num = int(input('请输入要分解的参数:'))
result = []
def get_digits(num):
    if num > 0:
      result.insert(0,num % 10)
      get_digits(num // 10)
result = get_digits(num)
print(result)


为何输出是None

冬雪雪冬 发表于 2020-2-2 19:00:33

num = int(input('请输入要分解的参数:'))
result = []
def get_digits(num):
    if num > 0:
      result.insert(0,num % 10)
      get_digits(num // 10)
get_digits(num)
print(result)

wp231957 发表于 2020-2-2 19:01:09

函数无返回值

xysffk 发表于 2020-2-2 19:09:04

你这里 if num > 0: 如果条件不成立,就直接返回 none 了把。没有 return 返回

zltzlt 发表于 2020-2-2 22:27:32

函数没有返回值,函数的返回值保存在全局变量 result 里面了,所以需要这样:

num = int(input('请输入要分解的参数:'))
result = []


def get_digits(num):
    if num > 0:
      result.insert(0, num % 10)
      get_digits(num // 10)


get_digits(num)
print(result)

运行结果:

请输入要分解的参数:12345
页: [1]
查看完整版本: 入门Python 递归课后题求解