合肥网站建设培训班,WordPress高级投稿,做网站最好的公司,闪闪字体设计网页面向函数编程 def func():print(从前有座山#xff0c;山里有座庙#xff0c;庙里有个老和尚讲故事#xff0c;讲的什么呀#xff1f;)func() 解耦#xff1a;尽量把不相关的功能拆开#xff0c;用的时候再调用函数#xff0c;增强代码重用性#xff0c;减少代码变更的…面向函数编程 def func():print(从前有座山山里有座庙庙里有个老和尚讲故事讲的什么呀)func() 解耦尽量把不相关的功能拆开用的时候再调用函数增强代码重用性减少代码变更的相互影响要完成一个完整的功能但这个功能的规模要尽量小并且和这个功能无关的其他代码应该和这个函数分离recursion 递归 什么是递归 一个函数在内部调用了自己本身 def func():print(从前有座山山里有座庙庙里有个老和尚讲故事讲的什么呀)func()print(123) 这里面的123永远不会打印永远都在执行下一个func()import sys 和python解释器相关的模块递归层数在python中最大997。可以改限制。 import syssys.setrecursionlimit(1000000) # 修改最大范围 ---但是 python 自己会根据计算机性能停止count0
def func():global countcount1print(count)func()
func() 递归实例写递归函数必须要有一个结束条件alex比egon大两岁 alexegon2egon比wusir大两岁 egonwusir2wusir比金鑫大两岁 wusir金鑫2金鑫40了 金鑫40 推测的过程是递后面计算是归 def age(n):if n 4:return 40return age(n1)2
f age(1)
print(f) 根据线索向下是递拿到一个结果再向上是归 递归方法求阶乘 def jie(n):return jie(n-1)*nprint(jie(7)) 二分查找 l[1,5,6,7,8,9,25,26,78,123,456,789,1233,7899,8521,9635,10255]
def search(num,l,startNone,endNone):startstart if start else 0endend if end else len(l)-1mid (end-start)//2startif startend:return Noneif l[mid]num:return search(num,l,0,mid-1)if l[mid]num:return search(num,l,mid1,end)if l[mid]num:return mid,l[mid]
print(search(78,l)) 无序的先用.sort()排序 斐波那契数列递归 li[1,1]
def fib(n):if nlen(li):li.append(li[-2]li[-1])fib(n)return li
n input(请输入要计算的数字个数)
n int(n)
ret fib(n)
print(ret) 面试真题递归 data{time:2016-08-05T13:13:05,some_id:ID1234,
grp1:{fld1:1,fld2:2},
xxx2:{fld3:0,fld5:0.4},fld6:11,fld7:7,fld46:8}
def select(data,fields):lifields.split(|)for item in data:if item in li:print(item,data[item])elif type(data[item])dict:ret select(data[item],fields)
n input(按照格式输入)
select(data,n) 三级菜单递归 menu {北京: {海淀: {五道口: {soho: {},网易: {},google: {}},中关村: {爱奇艺: {},汽车之家: {},youku: {},},上地: {百度: {},},},昌平: {沙河: {老男孩: {},北航: {},},天通苑: {},回龙观: {},},朝阳: {},东城: {},},上海: {闵行: {人民广场: {炸鸡店: {}}},闸北: {火车战: {携程: {}}},浦东: {},},山东: {},
}
#相同的数据类型 嵌套在一起def Three_Level_Menu(menu):while True:for k in menu:print(k)key input()if key q:return qelif key b:breakelif key in menu:ret Three_Level_Menu(menu[key])if ret q: return q
Three_Level_Menu(menu) 三级菜单 转载于:https://www.cnblogs.com/gaoshengyue/p/7485020.html