鱼C论坛

 找回密码
 立即注册
查看: 2562|回复: 0

[技术交流] python学习之第22讲笔记

[复制链接]
发表于 2017-6-18 10:30:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
递归必须满足的两个条件
1、函数调用自身
2、设置了正确的返回条件

经典递归函数1:阶乘
def f(n):
    if n == 1:
        return 1
    else:
        return n * f(n-1)

number = int(input('请输入一个整数:'))
result = f(number)

print("%d的阶乘是:%d" % (number, result))

经典递归函数2:幂
def power(x, y):
    if y:
        return x * power(x, y-1)
    else:
        return 1
print(power(2, 3))

经典递归函数3:二分法查找
def search(lst, number):
    mid = len(lst) //2
    found = False
    if lst[mid] ==number:
        found = True
        return found
    if mid == 0:
    #mid等于0就是找到最后一个元素了。
        found = False
        return found
    else:
        if number > lst[mid]:
        #找后半部分
        #print(lst[mid:])
            return search(lst[mid:], number)
        else:
            return search(lst[:mid], number) #找前半部分

评分

参与人数 2鱼币 +4 收起 理由
康小泡 + 2
小甲鱼 + 2 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 22:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表