Python 递归和二分查找

# 二分查找
l1 = [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]

def two_search(l,aim,start=0,end=None):
end = len(l)-1 if end is None else end
if end >= start:
mid_index = (end -start) // 2 + start
if aim > l[mid_index]:
return two_search(l,aim,start=mid_index+1,end=end)
elif aim < l[mid_index]:
return two_search(l,aim,start=start,end=mid_index-1)
elif aim == l[mid_index]:
return mid_index
else:
print('输入错误')
else:
print('输入有误')

print(two_search(l1,88))

# 递归初识
"""
小花 他比小红 大两岁。 4 age(3) + 2
小红 他比小天 大两岁。 3 age(2) + 2
小天 他比小白 大两岁。 2 age(1) + 2
小白:我今年23. 1 23
"""

def sums(n):
if n == 1:
return 23
else:
return sums(n-1) + 2
print(sums(100))

猜你喜欢

转载自www.cnblogs.com/ipyanthony/p/9163889.html