python3之递归实例
一、利用递归求: 1+2+3+4+5...+n的前n项和
def recursion_sum_1(n):
#当n = 1;和为1
#否则,n的和等同于 n + (n -1) if n == 1:
return 1 else:
return n + recursion_sum_1(n-1) print(recursion_sum_1(100)) #
二、利用递归求: 1-2+3-4+5...+n的前n项和
def recursion_sum_2(n):
#当n = 1;和为1
#否则,n的和等同于 n + (n -1)
if n == 1:
return 1
else:
if n % 2 == 0:
return -n + recursion_sum_2(n-1)
elif n % 2 != 0:
return n + recursion_sum_2(n-1) print(recursion_sum_2(4)) # -2
注意:
递归的优缺点:
优点:
把问题简单化,让思路更加清晰,代码更简洁
缺点:
递归因系统环境影响大,当递归深度太大时,可能会出现不可预知的结果
python3之递归实例的更多相关文章
- py_递归实例:汉诺塔问题
		
递归的两个特点 调用自身 结束条件 # _*_coding:utf-8 ''' 递归实例:汉诺塔问题 n----盘子总数 a----第一个柱子 b----第二个柱子 c----第三个柱子 n个盘子时: ...
 - python3之递归
		
1.递归的特点 递归算法是一种直接或间接调用自身算法的过程,在计算机编程中,递归算法对解决一大类问题是十分,它往往使算法的描述简洁而且易于理解. 递归算法解决问题的特点: (1)递归就是在过程或函数里 ...
 - Python3 的urllib实例
		
在Python3中合并了 urllib 和 urllib2, 统一命名为 urllib 了,我觉得这样更加合理了.让我们可以像读取本地文件一样读取WEB上的数据.封装了一个类,供以后方便使用吧!并附带 ...
 - Python3基础——递归
		
递归函数 如果一个函数在内部调用自身本身,这个函数就是递归函数. 递归函数的优点是定义简单,逻辑清晰.理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰. 使用递归函数需要注意防止栈 ...
 - SQL笔记 - CTE递归实例:显示部门全称
		
昨天在整理JS的Function时,示例是一个递归函数.说起递归,想起前段时间在搞CTE,那个纠结呀,看似容易,可我总抓不住门道,什么递归条件,什么结束条件,一头雾水...今天一大早就爬起来,果然不负 ...
 - 【转】python3 发邮件实例(包括:文本、html、图片、附件、SSL、群邮件)
		
特别留意群邮件方式,这是工作中用得多的. 附件,HTML,图片,都需要的. 文件形式的邮件 [python] view plain copy 1.#!/usr/bin/env python3 2.#c ...
 - python3 练手实例7 斐波那契数列
		
'''a,b=0,1 x=int(input('请指定需要多少项:')) while x>0: print(b) a,b=b,a+b x-=1''' #递归 def fibo(n): if n& ...
 - Python3:递归实现输出目录下所有的文件
		
今天来整理一下os库中方法的使用,如何输出一个目录下的所有文件? 1.首先介绍几个基本的的方法: 1)os.getcwd() #返回当前工作目录 2)os.listdir() #返回一个列表, ...
 - SQL Server递归实例
		
例子一 -- ============================================= -- 根据EID返回其下属的EID,Layer=1表示直接下属,NULL返回所有下属 -- s ...
 
随机推荐
- 远程桌面连接(mstsc)
			
目录 1. 序言 2. 准备工作 3. 内网远程连接(以mstsc的方式) 4. 问题---凭据不工作 5. 外网远程连接(mstsc) 6. 结语 更新时间:2019.09.10 1. 序言 有时候 ...
 - Java基础(三十四)String、StringBuffer类和数据缓冲区Buffer类
			
一.String类 1.创建字符串对象 创建字符串对象有两种方法:直接用“=”或者使用“new String(...)” String aStr = "TMZ"; String b ...
 - index.html
			
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
 - WebApp 滚动列表的实现
			
实现效果: 实现技术:overflow,flex,element::-webkit-scrollbar 实现步骤: //html:代码<div id="slider"> ...
 - 四、docker 仓库(让我们的镜像有处可存)
			
前言 前面讲完了docker 镜像和容器,以及通过Dockerfile 定制属于我们自己的镜像,那那现在就是需要将我们自己定制的镜像存放到仓库中供他们使用.这一套流程才算是正式走完了.从获取镜像,操作 ...
 - Shiro框架 - 【shiro基础知识】
			
转载:https://segmentfault.com/a/1190000013875092#articleHeader27 读完需要 63 分钟 前言 本文主要讲解的知识点有以下: 权限管理 ...
 - (Java) byte[] 和 base64 字符串之间的转换
			
import org.apache.commons.codec.binary.Base64; public class UtilHelper { //base64字符串转byte[] public s ...
 - Go netpoll I/O 多路复用构建原生网络模型之源码深度解析
			
导言 Go 基于 I/O multiplexing 和 goroutine 构建了一个简洁而高性能的原生网络模型(基于 Go 的I/O 多路复用 netpoll),提供了 goroutine-per- ...
 - 赤壁情:dp
			
首先这道题用到的3个新关键字大概讲一下: (我刚学会仅仅会瞎搞做题,欢迎大神补充) static:声明一个变量并清空.(不知道用不用时间,求解答) 具体用法:static 变量类型 变量名.如:sta ...
 - Python3获取豆瓣图书标签的前20本热门书籍(一)
			
介绍 第一篇主要获取豆瓣的大分类.大分类下的具体分类以及具体分类下的前20本热门书籍,第二篇对获取的数据进行分析. 准备 Python3.6.requests.BeautifulSoup4 演示 代码 ...