递归

什么叫递归?

       有一个故事大家都听过;''从前有座山,山上有座庙,庙里有个老和尚和一个小和尚,老和尚给小和尚讲故事,讲的故事是‘:‘’从前有座山,山上有座庙,庙里有个老和尚和一个小和尚,老和尚给小和尚讲故事,讲的故事是..........‘’。

如何用程序解决一下这个程序呢?

def story():
# print("从前有座山,山上有座庙,庙里有个老和尚和一个小和尚,老和尚给小和尚讲故事,讲的故事是‘")
#
# while True:
# story()

用循环?哇哇哇!死循环!电脑卡住了。

当然还有别的方法:

# def story():
# #递归函数,在一个函数内调用自己
# #最大递归层数做了一个限制:997
# print("从前有座山,山上有座庙,庙里有个老和尚和一个小和尚,老和尚给小和尚讲故事,讲的故事是")
# story()
# print('123')

# story()

#python递归最大层数限制 997
#最大层数限制是python默认的,可以做修改
#但是我们不建议你修改

地柜中的二分法:

二分查找算法
#算法:计算的方法
#有序的递增列表
l = [2,3,5,10,15,16,18,22,26]
def find(l,aim): #l:列表 aim:要找的
mid = len(l)//2 #计算中点
if l[mid] > aim: #判断中间位置的值和目标值的大小关系
new_l = l[:mid] #[16,18] = [16,18,22,26][:mid]
return find(new_l,aim)
elif l[mid] < aim:#判断中间位置的值和目标值的大小关系
new_l = l[mid+1:]
return find(new_l,aim)
else:
return l[mid]
# print(find(l,16))

原文地址:https://www.cnblogs.com/kxllong/p/7265089.html