递归函数
内容目录
递归的定义——在一个函数里再调用这个函数本身
递归的最大深度——997
def fon(n): print(n) n += 1 fon(n) fon(1)
import sys print(sys.setrecursionlimit(100000))
menu = { '水果':{'西瓜': {'西瓜皮':{},'西瓜肉':{}}, '杨梅': {'杨梅皮':{},'杨梅肉':{}}}, '植物':{'杨树': {'杨树叶':{},'杨树皮':{}}, '杨柳': {'杨柳枝':{},'杨柳皮':{}}}, '花卉':{ '牡丹花':{ '牡丹花皮':{},'牡丹花蕾':{} },}}
def dic1(dic): while 1: for i in dic:print(i) key = input('请输入你的选择:').strip() if key == 'b' or key == 'q':return key elif key in dic.keys() and dic.keys(): ret = dic1(dic[key]) if ret == 'q':return 'q' elif (not dic.get(key)) or (not dic[key]):continue dic1(menu)
lis = [menu] while lis: for i in lis[-1]:print(i) key = input('请输入你的选择:').strip() if key in lis[-1] and lis[-1][key]: lis.append(lis[-1][key]) if key == 'b': lis.pop() if key == 'q': break
#二分法查找 l = [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 find(l,aim,start = 0,end = None): end = len(l) if end is None else end mid_index = (end - start)//2 + start if start <= end: if l[mid_index] < aim: return find(l,aim,start =mid_index+1,end=end) elif l[mid_index] > aim: return find(l, aim, start=start, end=mid_index-1) else: return mid_index else: return '找不到这个值' ret= find(l,42) print(ret)

浙公网安备 33010602011771号