python 递归函数返回值

本文通过有序数组的二分查找示例解释了Python递归函数返回值的重要性。在递归过程中,每次调用都需要返回值,最终的返回结果是由最开始的调用接收的。如果缺少return关键字,函数会返回None。
摘要由CSDN通过智能技术生成

                                                   python递归函数返回值

以下是用递归实现有序数组的二分查找Python代码
def binarysearch(seq, x, lower = 0, upper = None):
    if upper == None: upper = len(seq) -  1
    middle = (lower + upper) / 2
    if x == seq[middle]:
        return middle
    elif x > seq[middle]:
        lower = middle + 1
    else:
        upper = middle - 1
    if upper < lower:
        print x, 'is not in', seq
        return
    return binarysearch(seq, x, lower, upper)     #此处必须加上return,否则函数总是返回None

if __name__ == '__main__':
   
    seq = [34, 67, 8, 123, 4, 100, 95]
    seq.sort()
    y = binarysearch(seq, 34)
    print y
   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值