递归函数和其他拓展
递归函数和其他拓展课前练习
请实现一个装饰器,把'函数的返回值'+100然后'返回'
def ount(fun):
def werrod(*ardes,**warrrts):
res=fun(*ardes,**warrrts)
return res+100
return werrod
@ount
def funs(intes):
return int(intes)
res=funs(100)
print(res)请实现一个装饰器,通过一次调用使函数重复执行5次
def ount(fun):
def werrod(*ardes,**warrrts):
count=0
while count<5:
print('输出')
fun(*ardes,**warrrts)
count+=1
return werrod
@ount
def funs():
print('循环')
funs()三元表达式
def ount(fun):
def werrod(*ardes,**warrrts):
with open('qw','a',encoding='utf-8')asf:
f.write(f'name={fun.__name__}\n')
fun(*ardes,**warrrts)
return werrod
@ount
def funs():
pass
funs()递归:直接或者间接的调用其他函数
def index():
print('from index')
func()
def func():
print('from func')
index()
func()
递归在实际编码中是不允许出现的,一旦出现了无限递归就会直接报错
1. 递推
一层一层的往下寻找答案
2. 回溯
通过最后一个结果往回寻找最开始的那个答案
递归是必须有结束条件!!!!阶乘运算
def dig(fun):
def inter(ase):
if ase==0:
return 1
else:
return inter(ase - 1) * ase
return inter(fun)
print(dig(5))
求第5个人的年龄
def inter(ase):
if ase == 1:
return 18
return inter(ase - 1) +2#每个人的年龄相差为2
res=inter(5)
print(res)列表生成式
二分法的原理:
1. 列表必须先排序(从小到大,从大到小)
2. 折半查找一般思路
将列表的元素一个一个的经行比较
然后得出结果
l =
for i in l:
if i == 66:
print('找到了')
来源:https://www.cnblogs.com/zhangfanshixiaobai/p/17697341.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页:
[1]