Day5_递归_二分法
Posted 不帅可以,但是必须要骚气
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day5_递归_二分法相关的知识,希望对你有一定的参考价值。
递归调用:
在调用一个函数的过程中,直接或间接的调用函数本身。
def func():
print(‘from func‘)
间接调用:
def foo():
print(‘form foo‘)
bar()
def bar():
print(‘form foo‘)
foo()
递归都是有次数限制的。
问5个人年龄,第五个比第四个大2岁,以此类推,第一个18岁。
def age(n): if n ==1: return 18 return age(n-1)+2 print(age(5))
递归的执行分为两个过程:
递推和回溯。
循环取出列表中的所有元素:
l=[1,2[3,4[5,6[7,8[9,10]]]]] def search(l): for item in l: if type(item) is list: search(item) else: print(item) search()
二分法:
l=[1,2,5,7,10,31,44,47,56,99,102,130,240]
def binary_search(l,num): print(l) if len(l) > 1: mid_index=len(l)//2 if num > l[mid_index]: l=l[mid_index:] binary_search(l,num) elif num < [mid_index]: l=l[:mid_index] binary_search(l,num) else: print(‘find it‘) else: if l[0] == num: print(‘find it ‘) else: print(‘not exist‘) return
以上是关于Day5_递归_二分法的主要内容,如果未能解决你的问题,请参考以下文章
python基础-基础知识考试_day5 (包括:函数_递归等知识)