每天一点python——day81

#每天一点Python——81
#递归函数:
'''
递归函数:
一个函数在该函数体内调用了该函数本身,这个函数称为递归函数
【释:我自己调用自己的函数】
递归函数的组成部分:
递归调用与递归终止条件。
【一定有一个跳出循环的终止条件,否则就是一个不停执行的死循环,会一直消耗计算机资源,属于一个bug】
递归的调用过程:
每递归调用一次函数,都会在栈内存分配一个栈帧
每执行完一个函数,都会释放相应的空间
递归函数的优缺点:
缺点:占用内存多,效率低下【因为每调用一次都会开相应的内存空间】
优点:思路和代码简单
'''
'''
6的阶乘
6!=6*5*4*3*2*1
用递归函数实现6的阶乘
如图所示:'''

#用代码实现6!
def fac(n):if n>1:return n * fac(n - 1)  # 自己调自己n*fac(n-1)=6*fac(5)else:return 1#返回1,结束函数
print(fac(6))
'''
代码解释:
以上代码运行过程
输入的是6
判断6>1
返回6*fac(5)
然后fac(5)
直接执行5>1
然后执行5*fac(4)
然后fac(4)
4>1
执行4*fac(3)
如此不断调用fac()函数
一直执行到1
return 1
程序里面的结果就是:
6*5*4*3*2*1
这是一个逐级向下的过程return n * fac(n - 1)最后变成return6*5*4*3*2*1然后再输出print(fac(6))=720有兴趣的同学可以用调试键,调试
'''

 

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

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

相关文章

解决WPS拖动整行的操作

如上图,想要把第4行的整行内容,平移到第1行。 1.选中第4行的整行 2.鼠标出现如图的样子时,按住鼠标左键,上移到第1行位置后,放开左键即可。

计算机网络:应用层(上篇)

文章目录 前言一、应用层协议原理1.网络应用的体系结构2.进程通信 二、Web与HTTP1.HTTP概况2.HTTP连接3.HTTP请求报文4.用户-服务器状态:cookies5.Web缓存(代理服务器) 三、FTP:文件传输协议1.FTP:控制连接与数据连接分…

watch监听中重复触发如何解决?

在实际开发工程中通过获取后端数据监听判断数组中长度是否大于0从而调用其他的方法,但是如果data域中的数据出现变化的话,就会导致监听中的方法重复调用,导致一些不必要的bug,例如: 原理: watch监听的数据…

Diffusion:通过扩散和逆扩散过程生成图像的生成式模型

在当今人工智能大火的时代,AIGC 可以帮助用户完成各种任务。作为 AIGC 主流模型的 DDPM,也时常在各种论文中被提起。DDPM 本质就是一种扩散模型,可以用来生成图片或者为图片去噪。 扩散模型定义了一个扩散的马尔科夫过程,每一步逐…

视频监控平台EasyCVR多场景应用,AI视频分析技术助力行业升级转型

传统的视频监控系统建设,经常存在各方面的因素制约,造成管理机制不健全、统筹规划不到位、联网共享不规范,形成“信息孤岛”、“数据烟囱”。在监控系统的建设中缺乏统一规划,标准不统一、视频图像信息利用率低等问题日益突出。随…

手动将jar包导入本地Maven仓库

1、进入存放jar包的目录,可以先放进仓库底下 2、cmd回车 3、执行命令,看到BUILD SUCCESS就是成功了 -DgroupId、-DartifactId、-Dversion、-Dfile记得换成自己对应的 mvn install:install-file -DgroupIdcom.github.03 -DartifactIdonvif -Dversion1.0.7…

微信小程序自定义tabber凸起

一、实现效果 二、下载地址 下载地址 源码有错自己修改一下就行

网站优化SEO文章采集组合方法

为了在激烈的网络竞争中脱颖而出,SEO专业人士不断寻求创新的方法和技术。其中,SEO文章采集后重组是一项备受关注的技术,通过巧妙地整合和重新组织已有的信息,以提升网站在搜索引擎中的排名和曝光度。 SEO文章采集是这一技术的第一…

Vue+Element-ui实例_在form中动态校验tag标签

1.开发需求 在日常开发中,我们会遇到form表单的动态添加和校验,当我们需要在动态添加的内容中再次动态使用输入框的时候,就会变得很繁琐,我在网上找了很多案例,没有符合自己需求的内容,只好闲暇时间自己搞…

Vue3依赖注入

适用场景 尤其针对一个变量需要从顶层组件开始透传,途径很多个子组件最后在第n代子组件使用的时候。对于这些途经的子组件而言,它们不但不使用而且完全不关心该变量具体是什么,只是作为一个传递工具罢了。这种情况下,使用依赖注入…

论文复现代码《基于自适应哈夫曼编码的密文可逆信息隐藏算法》调试版

前言 本文展示论文《基于自适应哈夫曼编码的密文可逆信息隐藏算法》的复现代码。代码块的结构如下: 其中,每个代码块都包含了测试该代码块的功能的主函数代码,使用时可放心运行,前提是你按照这个包结构把文件命名改好&#xff0c…

重载、重写、重定义的辨析

C重载、重写、重定义 重载、重写、重定义对比一、重载(overload)二、重写 / 覆盖(override)三、重定义 / 隐藏(redefining) * 为什么在虚函数中不能使用 static 关键字?动态绑定(Dyn…

YOLOv5轻量化改进之MobileNetv3

目录 一、原理 二、代码 三、应用到YOLOv5 一、原理 我们提出了基于互补搜索技术和新颖架构设计相结合的下一代mobilenet。MobileNetV3通过硬件网络架构搜索(NAS)和NetAdapt算法的结合来调整到移动电话cpu,然后通过新的架构进步进行改进。本文开始探索自动搜索算法和网络设计…

map文件解析

Map文件内容分为以下五段: 1)Section Cross References:模块、段(入口)交叉引用;(ASR编译生成的map文件没有输出该段信息) 2)Removing Unused input sections from the image:移除未使用的模块&#xff1…

App测试中iOS和Android的差异

1、系统版本: iOS和Android系统版本的更新速度、使用人数比例以及功能的不同都可能导致应用程序在不同操作系统版本上的表现和兼容性存在区别。 例如,在iOS平台上,很多用户会更快地升级到最新版本的iOS系统,而在Android平台上&a…

智慧灯杆网关:引领城市智慧照明的未来

智慧灯杆网关,作为城市智慧照明系统的核心组件,正逐渐成为各大城市发展的关键所在。它的出现使得城市照明管理更加智能、高效,为未来城市的可持续发展奠定了坚实的基础。 智慧灯杆网关是一种集网络通信、数据处理、远程控制等功能于一体的设备…

一款适用于船载、化工园区、工厂的防水LoRa网关推荐

工业网关的实践应用场景非常广泛,比如:工业现场PLC、变频器、机器人等设备的远程维护;工程机械的远程维护和管理;车间设备与工艺系统的远程维护和管理;小区二次供水水泵的远程监测及控制;油气田和油井等现场…

Elk+Filebeat+Kafka实现日志收集

ElkFilebeatKafka实现日志收集(本机nginx) 部署Zookeeper 1.实验组件 #准备3台服务器做Zookeeper集群 20.0.0.10 20.0.0.20 20.0.0.30 2.安装前准备 #关闭防火墙 systemctl stop firewalld systemctl disable firewalld setenforce 0#安装JDK yum install -y java-1.8.0-o…

springboot启动开启热部署

springboot启动开启热部署 手动方式 或者点idea上面的build->build project 自动方式 勾上Build project automatically 然后ctrl alt shift / 选择Registr 勾上就好了 新版idea可以在这里选 热部署范围设置 这是spring-boot-devtools起的作用,所以还…

VMware虚拟机安装和使用教程(附最新安装包+以ubuntu为例子讲解)

目录 一、VMware Workstation 17 Pro 简介 二、新功能与改进 三、安装教程 3.1、下载安装包 3.2、运行安装包 四、创建虚拟机 五、启动虚拟机 六、总结与展望 一、VMware Workstation 17 Pro 简介 VMware Workstation 17 Pro是VMware公司为专业用户打造的一款虚拟化软件…