函数的产生可以使代码可以重复使用。
递归的产生可以 使函数重复使用自己,但是python默认递归的深度为1000,这个深度是可以修改的。
自己理解:递归虽然可以重复使用但是,需要设置一个条件,这个条件就是使递归跳出循环的。
def age(n): if n == 1: return 40 return age(n-1)+2
递归进行二分查找:
def find(lst,aim): #这种算法可以在查找的值存在的情况下,不会报错,但是在,查找不 存在的值时,就会报错。 mid = len(lst)//2 if aim > lst[mid]: find(lst[mid+1:],aim) elif aim < lst[mid]: find(lst[:mid],aim) else:print(aim,mid) find(ls,66) #现在的方法可以解决,查找如果不存在的值不报错 def find(lst,aim): mid = len(lst)//2 if mid: if aim > lst[mid]: find(lst[mid+1:],aim) elif aim < lst[mid]: find(lst[:mid],aim) else:print(aim,mid) else:print("你查找的值不存在") find(ls,66)
时间: 2024-11-10 02:03:20