每天一点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.hqwc.cn/news/233926.html

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

相关文章

JDK版本降级,如何重新编译打包项目

目前大部分人使用jdk1.8以及更高版本的jdk,在开发过程中也使用了很多jdk1.8的新特性,但或许还存在一些使用jdk低版本的客户,这时如果我们提供的代码涉及必须高版本jdk才能运行的话,那代码就必须降级,客户才能使用&…

【IDEA开发工具的常用设置和快捷键及Debug调试】

🌠作者:TheMythWS. 🎇座右铭:不走心的努力都是在敷衍自己,让自己所做的选择,熠熠发光。 目录 常用设置篇 【1】进入设置 【2】设置主题 【3】编辑区的字体变大或者变小 【4】鼠标悬浮在代码上有提示…

我的创作纪念日--成为创作者的 第1825天(5年) 啦

醉颜凉 ,不知不觉今天已经是你成为创作者的 第1825天(5年) 啦。 机缘 1、作为一个创作者,我最初成为创作者的初心是出于对技术的热爱和对分享的渴望。我希望通过创作,将自己在实战项目中的经验分享给大家,…

如何写好开发信标题?推荐的营销邮件主题?

打开率高的开发信标题有哪些?怎么写吸引人邮件标题? 开发信标题是您的邮件首次与受众接触的部分,因此,它必须引起他们的兴趣,激发他们打开邮件的欲望。蜂邮EDM将讨论如何写好开发信标题,以及一些成功的开发…

创业者如何在居家办公和固定办公场地办公中权衡利弊,选择合适的

创业者如何选择办公方式,可能要根据自己的创业项目、团队规模、资金情况、行业特点等多方面因素来考虑。一般来说,居家办公和固定办公场地各有优缺点,没有绝对的好坏,只有适合不适合。我为大家总结了一些相关的信息,希…

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…

C++ 学习笔记——C++纯虚函数和抽象类

C纯虚函数 什么是纯虚函数 1,纯虚函数只有函数名、参数、返回值类型。 2,纯虚函数的定义是在函数句首使用 virtual 关键字修饰,并且在句末增加 “ 0”。 virtual void funtion() 0;3,纯虚函数只有声明,基类可以存…

juniper EX系列交换机 CLI命令行操作模式

JUNOS有两种模式:操作模式和配置模式。 1,操作模式 监控和排错 软件,网络连接、路由器硬件。 2,配置模式 testlab2> 配置路由器包括:interface、路由信息、路由协议、用户访问、系统硬件参数。 testlab2> …

Android笔记(十六):前台服务

设置服务为前台服务。前台服务会在状态栏显示一个通知。通知界面与服务进行关联。 一、什么是通知? Notification通知是在移动应用APP提供给用户的消息提示,是在移动系统的通知栏中显示。当移动应用不在运行时或者在后台状态下,通过发布通知…

2023-简单点-树莓派的config.txt文件解析

config.txt文件解析 注意事项什么时候去读取这个配置文件呢?如何查看配置情况?举例某些常见参数常见硬件参数camera_auto_detectdisplay_auto_detect dtparamarm_boost (Raspberry Pi 4 Only)start_file, fixup_filecmdlinearm_64bitotg_mode (Raspberry…

【小白进阶】Linux 调试大法——gdb

初衷 gdb调试是每一个后端开发工程师所必备的技能,我们工作总是会用gdb协助我们去分析和调试问题。但是大部分同学的技能仅停留在最基础的查看问题。即gdb program -->r --> 问题复现 --> bt 查看源码中的哪一行出现了错误。再稍微熟练点的,可能…

Kali 修改IP地址和DNS 开启SSH和远程桌面

一、修和IP和DNS 1、打开配置文件 vim /etc/network/interfaces# 加入 auto eth0 iface eth0 inet static address 10.3.0.231 netmask 255.255.255.0 gateway 10.3.0.12、取消IP地址 ip addr flush dev eth0 3、配置DNS vim /etc/resolv.confnameserver 114.114.114.114 …