python递归函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python递归函数相关的知识,希望对你有一定的参考价值。

accounts(科目)有两个属性code(科目代码)和parent_id(上一级科目代码)

例如code=1001.01.01.01.01,parent_id是1001.01.01.01,

写一个递归函数,层级最高为5级,参数是数字(也就是层级)和accounts,返回的值是对应层级的code

比如参数是3,code是1001.01.02.03,经过递归函数返回的值是1001.01.02

比如参数是2,code是1001.01.02.03,经过递归函数返回的值是1001.01

下面是我写的,但是不对,不能实现传几就返回第几层级

def func(num,accounts):
if not accounts.parent_id:
code = accounts.code
return code
if num == 0:
return accounts.code
else:
accounts = accounts.parent_id
return func(num-1, accounts)

求问大神怎么写是正确的?

参考技术A def Sum(m): #函数返回两个值:递归次数,所求的值 if m==1:return 1,m return 1+Sum(m-1)[0],m+Sum(m-1)[1]cishu=Sum(10)[0] print cishu >>> def Sum(m,n=1): ... if m==1:return n,m ... return n,m+Sum(m-1,n+1)[1] >>> print Sum(10)[0] 10 >>> print Sum(5)[0] 5

以上是关于python递归函数的主要内容,如果未能解决你的问题,请参考以下文章

python - - 函数 - - 递归函数

python 递归与递归函数

python递归函数

python递归函数

python函数 | 递归函数

python笔记七(递归函数)