Python 递归函数 - Python零基础入门教程

目录

  • 一.Python 递归函数案例
    • 1.Python 递归函数案例一
    • 2.Python 递归函数案例二
    • 3.Python 递归函数案例三
  • 二.Python 递归函数总结
  • 三.猜你喜欢

零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门

一个函数在函数体内部调用自己,这样的函数称为递归函数递归的次数在 Python 是有限制的,默认递归次数是 997 次,超过 997 次会报错:RecursionError.

一.Python 递归函数案例

1.Python 递归函数案例一

计算数字 N 的阶乘(举个栗子:9 的阶乘 = 9*8*7*6*5*4*3*2*1)

# !usr/bin/env python
# -*- coding:utf-8 _*-"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python 递归函数.py
@Time:2021/3/31 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!"""# 使用递归函数实现阶乘
# 举个例子,计算9的阶乘:9! = 9*8*7*6*5*4*3*2*1 = 362880
def func(n):if n==1:  # 结束条件:当 n == 1 结束递归调用return 1  else:return n*func(n-1)
print(func(9))# 使用for循环计算阶乘
result= 1
# i 取值: 9 8 7 6 5 4 3 2 1 不包括0
for i in range(9,0,-1):result = result * i
print(result)'''
输出结果:
362880
362880'''

可能对于案例一,你会觉得好像所谓的递归也没什么卵用的样子,我用 for 循环也能实现,那么我们继续往下看案例二或者案例三。

2.Python 递归函数案例二

一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第 10 次落地时,共经过多少米?第 10 次反弹多高?

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python 递归函数.py
@Time:2021/3/31 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!"""def heigthM(num, heigth, sum):sum += heigthheigth /= 2 #第一次返回高度50print(heigth, sum) # 查看每次返回的高度和经过多少米if num == 1:return heigth ,sumelse:sum += heigth # 返回到最高点时,经过多少米需要加上高度return heigthM(num - 1, heigth, sum)
print("第10次的反弹高度和累计经历的米数分别是:",heigthM(10, 100, 0)) #num是次数,heigth是高度,sum是经过多少米'''
输出结果:
3.125 287.5
1.5625 293.75
0.78125 296.875
0.390625 298.4375
0.1953125 299.21875
0.09765625 299.609375
第10次的反弹高度和累计经历的米数分别是: (0.09765625, 299.609375)'''

小窍门: 函数可以同时返回多个值,以元组的形式返回!!

3.Python 递归函数案例三

猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10 天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少?

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿说编程
@Blog(个人博客地址): www.codersrc.com
@File:Python 递归函数.py
@Time:2021/3/31 07:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!"""def monkey(n):if n == 1:return 1else:return (monkey(n - 1) + 1) * 2
print(monkey(10))'''
输出结果:
1534
'''

二.Python 递归函数总结

  • 1.递归函数一定要有结束条件,否则无限循环;
  • **2.默认递归次数是 997 次,超过 997 次会报错:RecursionErro****r**;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-593RSsQw-1623222718682)(https://www.codersrc.com/wp-content/uploads/2021/03/c81e728d9d4c2f6-7.png “Python 递归函数-猿说编程”)]

三.猜你喜欢

  1. Python 配置环境
  2. Python 变量
  3. Python 运算符
  4. Python 条件判断 if/else
  5. Python while 循环
  6. Python break
  7. Python continue
  8. Python for 循环
  9. Python 字符串
  10. Python 列表 list
  11. Python 元组 tuple
  12. Python 字典 dict
  13. Python 条件推导式
  14. Python 列表推导式
  15. Python 字典推导式

未经允许不得转载:猿说编程 » Python 递归函数

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

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

相关文章

Cloud一分钟 | 云存储服务商​Egnyte获7500万美元E轮融资,高盛领投

Hello,everyone:10月12日早,星期五,祝大家工作愉快!一分钟新闻时间:完1.微信群:添加小编微信:tangguoyemeng,备注“进群姓名公司职位”即可,加入【云计算学习…

为什么阿里飞猪、滴滴、携程都被质疑滥用大数据杀熟?

技术本无罪,用的人多了,自然成为掩盖人性罪恶的根源。支撑「互联网」时代的大数据是如何一步一步沦落成利益的刽子手的?2018 年,「大数据杀熟」一词开始进入大众视野,且在互联网领域掀起了腥风血雨。近日,更…

电脑服务器传文件夹吗,服务器和电脑传文件夹吗

服务器和电脑传文件夹吗 内容精选换一换Model File:模型文件。单击右侧的文件夹图标,在后台服务器sample所在路径(工程目录/run/out/test_data/resnet-18/model)选择需要转化的模型对应的*.prototxt文件,并上传。Weight File:权重文件。请自行从https://…

BugkuCTF-MISC题1和0的故事

基础知识: PIL PIL是Python Imaging Library,它为python解释器提供了图像编辑功能。 PIL.Image.new()方法通过给定的模式和大小创建一个新图像。尺寸以(width,height)-tuple,以像素为单位。对于单波段图像,颜色作为单个值给出,对…

Python time 模块 - Python零基础入门教程

目录 一.前言二.Python time 模块常用函数介绍三.Python time 模块使用 1.Python time 模块获取时间2.Python time 模块自定义时间格式3.Python time 模块查看代码执行时间 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 Python time 模…

面趣 | 这道微软面试题你会吗?

参加 2018 AI开发者大会,请点击 ↑↑↑问面试题目:两个单词如果包含相同的字母,次序不同,则称为字母易位词(anagram)。例如,“silent”和“listen”是字母易位词,而“apple”和“aplee”不是易位词。请定义…

BugkuCTF-MISC题baby_flag.txt

下载附件得到一个压缩包baby_flag.zip 打开得到baby_flag.txt,直接点击打开发现乱码 通过010editor打开观察发现这是一个图片文件 将文件后缀改为.jpeg得到一张图片 通过binwalk -e …未分离出有价值的信息 在010editor发现有RAR压缩包的头 将这一部分数据复制…

云漫圈 | 计数排序,你真的了解么?

参加 2018 AI开发者大会,请点击 ↑↑↑————— 第二天 —————————————————假定20个随机整数的值如下:9,3,5,4,9,1,2,7,8,1&…

BugkuCTF-MISC题blind_injection

下载附件 方法一: 下载用wireshark打开 题目说的是盲注,而注入一般都是走的http,直接导出http对象,再根据大小排序 得到flag 方法二: 若HTTP对象列表点击大小无反应 将其导出,命名为output 在文件夹里查…

ubuntu服务器ssh登录密码修改,Ubuntu-18.04 下修改root用户密码,安装SSH服务,允许root用户远程登录,安装vsftp服务器...

修改root用户密码打开终端,输入 sudo passwd root 指令:安装SSH服务ssh默认端口号是22,可以在/etc/ssh/sshd_config文件中修改查看服务器否开启:netstat -tlp启动服务:sudo /etc/init.d/ssh start重启服务:…

Python json模块 - Python零基础入门教程

目录 一.前言二.python json 模块常用函数三.json 转 Python 字典 dict四.Python 字典 dict 转 json五.关于 json.dump 和 json.load六.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一.前言 JSON 的全称是 JavaScript Object Notation&…

Cloud一分钟 | 英国发布大规模遗传数据;德国电信与华为联合发布PLAS云连接服务...

Hello,everyone:10月15日早,星期一,祝大家工作愉快!一分钟新闻时间:★ 百度云与智慧农业的头部企业强强联合,共建ABC智能农业生态。★ 德国电信与华为联合发布PLAS云连接服务。★ 英国发布大规模…

“汉堡+奶昔”怎么就成了精致生活的热门标签?

图片来源:视觉中国文章来源:DT财经“左手汉堡,右手奶昔,这是新天地Coco的时髦新日常。最近沪上刮起一阵打卡新风潮,汉堡竟然成了标记城市美好生活的一大利器。还在纠结晚餐去金拱门还是汉堡王的DT君,发现自…

揭开互联网公司的神秘面纱,数据解读那些slay整个行业的互联网公司

前言:随着互联网行业的日益兴盛,吸引力越来越多的牛人加入其中,也有许多小伙伴跃跃欲试,想要在互联网的浪潮中大展身手。今天我们通过看准网的数据,帮助大家对各大互联网公司有一个比较概括的了解。01.数据来源看准网提…

Cloud一分钟 | Gartner发布2018年第二季度全球服务器市场报告;中信银行联合腾讯云推出手机银行智能语音产品...

Hello,everyone:10月16日早,星期二,祝大家工作愉快!一分钟新闻时间:完1.微信群:添加小编微信:tangguoyemeng,备注“进群姓名公司职位”即可,加入【云计算学习…

Cloud一分钟 | 华为云发布云数据安全白皮书;OPPO携手阿里云举行天池OGeek算法挑战赛...

Hello,everyone:10月17日早,星期三,祝大家工作愉快!一分钟新闻时间:完1.微信群:添加小编微信:tangguoyemeng,备注“进群姓名公司职位”即可,加入【云计算学习…

关于这道填空题,你会如何回答?(附带学习链接)

曾经有一篇百万阅读量的爆文,里面出了道填空题,问:____是铜牌,____是银牌,____是金牌,____是王牌。小白的答案是:Java是铜牌,Linux是银牌,Hadoop是金牌,大数据…

BugkuCTF-Crypto题affine

题目描述: 这题考的是仿射密码,了解一下仿射密码 仿射密码为一类替换密码。它是一个字母对一个字母的。它的加密函数为 其a和m互质,m为字母的数目。 解码函数为 其a^-1为a在Zm群的乘法逆元 乘法逆元: 所有与26互素元素的乘法…

Python set集合 - Python零基础入门教程

目录 一.set 集合简介二.set 集合常用函数三.set 集合运算符四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 在 Python 变量中除了以前文章所提到的整形 int / 浮点数 float / 布尔值 bool / 列表 list / 字典 dict 之外,还有…

Cloud一分钟 | 华为云、腾讯云、阿里云中标「央视2018年租赁公有云服务」项目...

Hello,everyone:10月18日早,星期四,祝大家工作愉快!一分钟新闻时间:完1.微信群:添加小编微信:tangguoyemeng,备注“进群姓名公司职位”即可,加入【云计算学习…