简体   繁体   English

Python递归函数

[英]Python recursive function

def bunnies(n,months,quantity):
    print(quantity)
    if n == months:
        return quantity
    else:
        quantity=quantity+quantity
        bunnies(n+1,months,quantity)



months=int(input("How many months ?"))
quantity=1
n=0
bunnies_total=bunnies(n,months,quantity)
print(bunnies_total)

For some reason my function returns None , I can't figure it out. 由于某种原因,我的函数返回None ,我无法弄清楚。

Your else branch doesn't return anything, which means in python it will just return None . 您的else分支不会返回任何内容,这意味着在python中它将仅返回None Slap a return on the call to bunnies , and you should be OK: 巴掌return上调用bunnies ,你应该确定:

def bunnies(n,months,quantity):
    if n == months:
        return quantity
    else:
        quantity=quantity+quantity
        return bunnies(n+1,months,quantity) # Here

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM