• 递归函数


    """
    Author:Cairo
    """
    #递归
    
    # def jiechen(n):
    #     '''
    #     :param :递归是一个自己调用自己的函数,必须有一个明确的出口,不然程序会报错
    #     :return n + jiechen(n - 1): 这里就是函数自己调用自己的执行代码,如果n!=1的话,就会一直执行,直到n == 1 为止
    #     :attention:递归函数只能自己调用自己998次,如果超过就一样报错,它不是死循环,要注意哦!
    #     '''
    #     if n == 1:
    #         return 1
    #     else:
    #         return n + jiechen(n - 1)
    # print(jiechen(998))
    
    
    # 练习:根据给定的姓名,在列表中查询姓名的序号(0-68)。
    lst=['邢佳栋','李学庆','高昊','潘粤明','戴军','薛之谦','贾宏声','于波','李连杰','王斑','蓝雨','刘恩佑','任泉','李光洁','姜文','黑龙','张殿菲','邓超','张杰','杨坤','沙溢','李茂','黄磊','于小伟','刘冠翔','秦俊杰','张琳','陈坤','黄觉','邵峰','陈旭','马天宇','杨子','邓安奇','赵鸿飞','马可','黄海波','黄志忠','李晨','后弦','王挺','何炅','朱亚文','胡军','许亚军','张涵予','贾乃亮','陆虎','印小天','于和伟','田亮','夏雨','李亚鹏','胡兵','王睿','保剑锋','于震','苏醒','胡夏','张丰毅','刘翔','李玉刚','林依轮','袁弘','朱雨辰','丁志诚','黄征','张子健','许嵩']
    def get_index(lst, str, lower, upper):
        '''
        :param lst: 名字列表
        :param str: 输入判断的名字
        :param lower: 开始的位置
        :param upper: 结束的位置
        :return:
        :middle:等于开始的位置与结束的位置 // 2 整除以2 得到中间的位置
    
        :记录一下循环体:如果输入的名字在于列表一半的的截取内可以找到:就走下一行再次调用自己直到找到这个名字。
                    如果在前面截取的那一半的列表找不到这个名字的话,就走else:这样的话调用的那个自己的时候参数的开始值就得等于一半+1开始到最后
        '''
        if lower == upper:
            return upper
        else:
            middle = (lower + upper) // 2
            if str in lst[lower:middle + 1]:  # 注意:切片操作的终止位置是截取不到的,所以要+1才能正常判断。
                return get_index(lst, str, lower, middle)
            else:
                return get_index(lst, str, middle + 1, upper)
    
    print(get_index(lst, input('请输入姓名:'), 0, len(lst)))
    以上内容作为课堂笔记,如有雷同,请联系于我
  • 相关阅读:
    POJ 1700 过河坐船最短时间问题
    C++继承与派生上机记录
    POJ 1007 DNA Sorting
    大一C++语言程序设计6-20上机作业
    POJ 1006 Biorhythms
    对“C++添加一个头文件和extern以及全局变量和局部变量问题”的解释
    C++添加一个头文件和extern以及全局变量和局部变量问题(16.3.19上机的一小题)
    Node 中的模块化(module对象中的exports以及导入require方法)
    http 模块
    path 路径模块
  • 原文地址:https://www.cnblogs.com/ArtisticMonk/p/9060426.html
Copyright © 2020-2023  润新知