• 递归函数


    二分查找算法:在执行的时候每次都是取出列表的中间位置的值来和要查找的值相比较,如果中间值小于目标值,则在后半部分中寻找;找出后半部分的中间值,再与目标值相比较,以此类推。

    def find_2(l,aim,start=0,end=None):
        if end == None:end = len(l) - 1
        if start <= end:
            mid = (end-start) // 2  + start
            if l[mid] > aim:
                find_2(l,aim,start,mid-1)
            elif l[mid] < aim:
                find_2(l,aim,mid+1,end)
            else:
                print(aim,mid)
        else:
            print('找不到这个值')
    l = [2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72,76,82,83,88]
    find_2(l,32)
    # 32 10

    alix的年龄问题:

    def age(n):
        if n == 4:
            return 40
        return age(n+1)+2
    print(age(1))
    # 46

    阶乘:

    def f(n):
        if n==1:
            return 1
        return n*f(n-1)
    print(f(3))
    # 6

    斐波那契数列:

    def fib(n):
        if n==1 or n==2:
            return 1
        return fib(n-1)+fib(n-2)
    print(fib(8))
    # 21

    三级菜单:

    menu = {
        '北京': {
            '海淀': {
                '五道口': {
                    'soho': {},
                    '网易': {},
                    'google': {}
                },
                '中关村': {
                    '爱奇艺': {},
                    '汽车之家': {},
                    'youku': {},
                },
                '上地': {
                    '百度': {},
                },
            },
            '昌平': {
                '沙河': {
                    '老男孩': {},
                    '北航': {},
                },
                '天通苑': {},
                '回龙观': {},
            },
            '朝阳': {},
            '东城': {},
        },
        '上海': {
            '闵行': {
                "人民广场": {
                    '炸鸡店': {}
                }
            },
            '闸北': {
                '火车战': {
                    '携程': {}
                }
            },
            '浦东': {},
        },
        '山东': {},
    }
    def menu_3(menu):
        while True:
            for key in menu:
                print(key)
            choice=input('选择:')
            if choice == 'q' or choice == 'b':
                return choice
            elif choice in menu and menu_3(menu[choice]):
                borq = menu_3(menu[choice])
                if borq == 'q':
                    return 'q'
    menu_3(menu)
  • 相关阅读:
    layui实现复选框全选,反选
    Lambda表达式详解
    母版页 VS shtml—ASP.NET细枝末节(3)
    无废话WCF入门教程一[什么是WCF]
    String.Format用法
    C#基础--之数据类型
    簡單SQL存儲過程實例
    SQL Server 存储过程
    存储过程详解
    sql语句分页多种方式ROW_NUMBER()OVER
  • 原文地址:https://www.cnblogs.com/hzhcdhm/p/7806057.html
Copyright © 2020-2023  润新知