Python--递归

面向函数编程

def func():print('从前有座山,山里有座庙,庙里有个老和尚讲故事,讲的什么呀?')func()

解耦:尽量把不相关的功能拆开,用的时候再调用函数,增强代码重用性,减少代码变更的相互影响
要完成一个完整的功能,但这个功能的规模要尽量小,并且和这个功能无关的其他代码应该和这个函数
分离
recursion 递归

什么是递归:

一个函数在内部调用了自己本身

def func():print('从前有座山,山里有座庙,庙里有个老和尚讲故事,讲的什么呀?')func()print('123')

这里面的123永远不会打印,永远都在执行下一个func()
import sys 和python解释器相关的模块
递归层数在python中最大997。可以改限制。

import syssys.setrecursionlimit(1000000)  # 修改最大范围 ---但是 python 自己会根据计算机性能停止

count=0
def func():global countcount+=1print(count)func()
func()

 

递归实例:
写递归函数,必须要有一个结束条件
alex比egon大两岁      alex=egon+2
egon比wusir大两岁     egon=wusir+2
wusir比金鑫大两岁     wusir=金鑫+2
金鑫40了              金鑫40

推测的过程是递,后面计算是归

def age(n):if n ==4:return 40return age(n+1)+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,start=None,end=None):start=start if start else 0end=end if end else len(l)-1mid = (end-start)//2+startif start>end:return Noneif l[mid]>num:return search(num,l,0,mid-1)if l[mid]<num:return search(num,l,mid+1,end)if l[mid]==num:return mid,l[mid]
print(search(78,l))

无序的先用.sort()排序

斐波那契数列递归

 

li=[1,1]
def fib(n):if n>len(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):li=fields.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 'q'elif 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467728.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python相关知识介绍一种理财方法_我是如何使用python来确定理财策略的

老婆在朋友圈里看到了一条理财广告&#xff0c;一条很让人心动的广告&#xff0c;长下面这个样子。这是香港某保险公司的理财方案&#xff0c;大意是每年定投6.65万&#xff0c;投资5年&#xff0c;总共投资33万的样子&#xff0c;那么第10年&#xff0c;你将可以拿到38.6万&am…

传统神经网络

文章目录神经网络的起源&#xff1a;线性回归一个线性回归问题线性回归优化方法&#xff1a;梯度下降梯度计算梯度计算总结线性回归&#xff1a;输出线性回归&#xff1a;局限从线性到非线性非线性激励常用的非线性激励函数tanhRELULecky RELU神经元—神经网络神经网络构建神经…

[BZOJ1669][Usaco2006 Oct]Hungry Cows饥饿的奶牛

1669: [Usaco2006 Oct]Hungry Cows饥饿的奶牛 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 1000 Solved: 655 [Submit][Status][Discuss]Description Farmer John养了N(1 < N < 5,000)头奶牛&#xff0c;每头牛都有一个不超过32位二进制数的正整数编号。FJ希望奶牛…

vue抽屉_VUE组件 之 Drawer 抽屉

{{ title }}Xprops: {//是否打开display: {type: Boolean},//标题title: {type: String,default: 标题},//是否显示关闭按钮closable: {type: Boolean,default: true},//是否显示遮罩mask: {type: Boolean,default: true},//是否点击遮罩关闭maskClosable: {type: Boolean,defa…

深度学习之卷积神经网络

文章目录深度学习之卷积神经网络链式反向梯度链式法则的计算神经网络中链式法则实例二、卷积神经网络-卷积层&#xff08;一&#xff09;什么是卷积层&#xff08;二&#xff09;有什么组成受什么影响&#xff0c;有何特点卷积网络正向传播反向传播卷积和神经网络功能层深度学习…

datatype未定义是什么意思_vue.js一直提示未定义

.sum_price);}temp_status 1;}else{for(var i0;ivm.list.status 0;}vm.total_price 0;temp_status 0;}//更新数据库api.ajax({url: update_allcart_status_url,method: post,timeout: 30,dataType: json,returnAll: false,data: {values: {token: $api.getStorage(token),d…

卷积神经网络高级篇

【 文章目录Alextnet参数计算VGG alexnet增强版VGG参数计算VGG作用GoogleNet 多分辨率融合全卷积神经网络RESNET结构特性有效性结构化图片特殊处理识别效果全局部卷积网络缺陷U-net图片生成网络VGG u-netAlextnet 参数计算 VGG alexnet增强版 VGG参数计算 VGG作用 GoogleNet 多…

sx1268 中文_STM32开发笔记85: SX1268驱动程序设计(芯片唤醒)

单片机型号&#xff1a;STM32L053R8T6本系列开发日志&#xff0c;将详述SX1268驱动程序的整个设计过程&#xff0c;本篇介绍芯片唤醒驱动程序。一、RxDutyCycle模式在讲述本篇内容之前&#xff0c;我们先来看一下SX1268的一种模式RxDutyCycle&#xff0c;译为中文为接收占空比模…

LinuxGPIO操作和MTK平台GPIO

GPIO口配置是一个历史性的问题&#xff0c;不管我们使用什么MCU&#xff0c;单片机也好&#xff0c;ARM也好&#xff0c;都离不开驱动GPIO口。Linux下有一个宏&#xff0c;GPIO_GPIO_SYSFS&#xff0c;打开这个宏后&#xff0c;编译烧录到设备端&#xff0c;去看看sys/class/gp…

Linux cpu亲和力

最近在对项目进行性能优化&#xff0c;由于在多核平台上&#xff0c;所以了解了些进程、线程绑定cpu核的问题&#xff0c;在这里将所学记录一下。不管是线程还是进程&#xff0c;都是通过设置亲和性(affinity)来达到目的。对于[进程]的情况&#xff0c;一般是使用sched_setaffi…

卷积神经网络(目标分类)

文章目录目标分类基本框架数据准备数据扩充数据规范模型设计任务分类局部更改训练细节目标分类基本框架 数据准备 现有数据集的子集&#xff0c;网络采集&#xff0c;现有数据人工标注 数据扩充 原始数据切割&#xff0c;噪声颜色等像素变化&#xff0c;旋转平移 数据规范…

unity获取电磁笔压感_【WPF】获取电磁笔的压感

WPF 不仅支持触控&#xff0c;也支持笔的输入&#xff0c;比如现在比较高大上的电磁笔。便宜的板子一般不配备电磁笔&#xff0c;而是配电容笔&#xff0c;虽然也号称XXX级压感&#xff0c;但是效果自然不可与电磁笔相比。UIElement 类规范了UI元素的基本轮廓&#xff0c;在该类…

安卓9.0添加服务修改SELinux

#文章目录#前言#SELinux来源#SELinux基本框架#SELinux 在不同版本的表现#使用audit2allow工具生成SELinux 权限#完整代码#前言先推荐下之前的SELinux文章&#xff0c;但是那个是7.1的&#xff0c;在9.0上已经在差别很大的了。Android7.1 在init.rc 添加shell服务题外话~在企业里…

卷积神经网络-目标探测

文章目录目标探测介绍任务思路DPMRCNN1&#xff09;候选区域选择2&#xff09;CNN特征提取3&#xff09;分类与边界回归R-CNN总结优点缺陷FAST-RCNNFASTER-RCNNYOLO目标探测介绍 任务 分类获取坐标 目标探测 图片分割 思路 回归问题&#xff1a;利用神经网络进行目标识别&am…

相机视场角和焦距_镜头小讲堂(一)镜头的焦距

在刚购买完相机的时候&#xff0c;我们久会考虑需要什么样的镜头来配合机身来使用。而市场上的镜头种类是在太多了&#xff0c;所以我们就要学习了解下镜头都有哪些种类&#xff0c;选择哪种镜头比较有优势。这也是学习摄影必备的基础知识。01 镜头的焦距焦距是镜头的重要指标&…

小程序开发过程注意事项

尽量避免使用 this.setData({});会让小程序页面会重新渲染&#xff0c;耗性能资源。 比如 &#xff0c;clickShow: function(e) {this.setData({comment: ""});var comment e.currentTarget.dataset.comment && this.data.comment "" ? e.curre…

C语言指定初始化器解析及其应用

由于笔者能力有限&#xff0c;文中如果出现错误的地方&#xff0c;欢迎大家给我指出来&#xff0c;我将不胜感激&#xff0c;谢谢&#xff5e;#指定初始化器的概念C90 标准要求初始化程序中的元素以固定的顺序出现&#xff0c;与要初始化的数组或结构体中的元素顺序相同。但是在…

python self 序列_python中序列化对象

# 序列化对象p1import pickle # 内置库class People:def __init__(self, name, age):self.name nameself.age agedef sayhi(self):print("Hi, my name is {}, and Im {}".format(self.name, self.age))p1 People(name"Jack&qu…

递归神经网络

文章目录LSTM![在这里插入图片描述](https://img-blog.csdnimg.cn/20200609171449198.pngLSTM 4INPUTS 1outputs

程序媛计划——mysql连接表

#inner join等值连接&#xff0f;内连接 mysql> select * from info; ----------------------------- | name | phone | address | ----------------------------- | zhao | 13199999999 | Beijing | | qian | 1328888888 | Harbin | | sun | 13366666666 | Sha…