defence 发表于 2021-4-15 21:12:21

递归函数作业求助

result = []
def get_digits(n):
      if n > 0:
                result.insert(0, n%10)
                get_digits(n//10)

get_digits(12345)
print(result)



为什么这是而不是

昨非 发表于 2021-4-15 21:27:20

result.insert(0, n%10)
0表示在最前面插入,就是前插法
第一个取余10得到的是5,第二个取余10得到的是4,插到5的前面
这样结果就是顺序的啦

lovecnbear 发表于 2021-4-16 00:35:29

print(result[::-1])
这样就倒过来了

lovecnbear 发表于 2021-4-16 00:42:50

result = []
def get_digits(n):
      if n > 0:
                result.insert(0,n%10)
                get_digits(n//10)
                return result
      print(result[::-1])
      result.reverse()
      print(result)

get_digits(12345)
页: [1]
查看完整版本: 递归函数作业求助