zoukankan      html  css  js  c++  java
  • 递归函数

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

    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)
  • 相关阅读:
    hdu1418 欧拉公式
    hdu1215七夕节 筛选法求公因子和
    hdu1215 The area
    hdu1005Number Sequence
    hdu1021 数学题 并不是说难,而是数学题那种简单朴素的思想get不到
    Mongo第三个参数的用法
    js 显示刚刚上传的图片 (onchange事件)
    在linux中安装memcache服务器
    jQuery 倒计时
    PHP获取文章发布时间
  • 原文地址:https://www.cnblogs.com/hzhcdhm/p/7806057.html
Copyright © 2011-2022 走看看