(十七)python 3 函数递归

递归函数

即自己调用自己,递归中可以函数自身调用自身,但是使用时类似于条件循环一样,要有递归的终止条件

  • 优点:使用递归时,常常可以让代码更加简洁
  • 缺点:递归会占用比较多的内存,当递归次数比较多时,性能就会降低,因此不建议多使用递归
递归特性:
# 1. 必须有一个明确的结束条件
# 2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少
# 3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出)

简单的递归函数

ef func(n):
    if n == 1:
        return n
    elif n > 1:
        return n * func(n - 1)
    else:
        return ‘请传递大于0的参数‘

print(func(5))

‘‘‘结果:
120
相当于 1 * 2 * 3 * 4 * 5 = 120
‘‘‘

  

原文地址:https://www.cnblogs.com/a-ant/p/11013153.html

时间: 2024-08-02 12:57:34

(十七)python 3 函数递归的相关文章

python学习 -函数---递归--模块(os)--时间操作

#函数补充# 位置参数 def hello (name,sex)# 默认值参数 def hello (countyu = 'china')# def send_report(*args) 可变参数.参数组 不是必填,不限制个数,传入后保存为元组 #*args, # 1.不是必填参数 # 2.不限制参数的个数 # 3.传入多个参数的时候他把参数放到一个元组里面# def send_report(*args):# print('发邮件')# print(args)# send_report()# s

python 关于函数递归调用自己

爬取b站博人传 每页短评20个,页数超过1000页, 代码如下 import requests import json import csv def main(start_url): headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36',} res = requests.

python基础--函数递归

#递归特性: # 1.必须要有一个明确的结束条件 #2.每次进入更深一层递归时,问题规模相比上次递归都应有所减少 #3.递归效率不高,递归层次过多会导致栈溢出 def calc(n): print(n) if int(n / 2)==0: #// 取整 # /取商 #% 取余 #此处int是取整,商小于1的时候取整结果为0 return n#return返回结果 return calc(int(n / 2))#执行calc(int(n / 2))---->等待return n返回结果--->最

python基础-函数_递归_内置函数

一 数学定义的函数与python中的函数 二 为何使用函数 背景提要 三 函数和过程 四 函数参数 五 局部变量与全局变量 六 前向引用之'函数即变量' 七 嵌套函数 八 递归 九 匿名函数 十 函数式编程 十一 内置函数 十二 本节作业 一.数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因变量,y是x的函数.自变量x的取值范围叫做这个函数的定义域

Python函数基础与函数递归

数学中函数的定义: 一般的 在一个变化过程中, 如果有两个变量 x 和 y 并且 对于 x的每一个确定的值,y都有唯一确定的值与 其对应, 那么我们就把 x 成为 自变量 把y成为 因变量 y是x的函数.自变量x的取值范围叫这个函数的定义域 y = 2*x python 中函数 是一种逻辑结构化和过程化的一种变成方法python中函数定义的方法: 1 def test(x): 2 "the function deinitions" 3 x += 1 4 return x def 定义函

Python基础函数、递归、内置函数

一.数学定义中的函数与Python中的函数 初中数学定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定值,y都有唯一确定的值与之对应,那么我们就把x称为自变量,把y称为因变量,与是x的函数.自变量x的取值范围叫做这个函数的定义域. 例如:y=2*x python中函数的定义:函数是逻辑结构化和过程化的一种编程方法. # Python中函数定义方法 def test(x): "the function definitions" x+=1 return x def

Python之函数、参数、局部全局变量、前向引用、递归

函数 函数:实现某种功能(数学形式.python def函数式编程) 过程:就是函数没有返回值 参数 1.形参 实参 位置参数 关键字参数 默认参数 1 # 形参x,y不分配内存空间 实参2,3在调用的时候才分配空间,调用完毕就释放空间 2 def calc(x, y): 3 res = x ** y 4 return res 5 6 7 c = calc(2, 3) 8 print(c) 9 10 11 def test(x, y, z): 12 print(x) 13 print(y) 14

Python开发【第一篇】Python基础之函数递归

函数递归 递归的本质: 就是一个函数调用另外一个函数. def d(): return '123' def c(): r = d() return r def b(): r = c() return r def a(): r = b() print(r) a() def func(n): n += 1 if n >=4: return 'end' return func(n) r = func(1) print(r)

python编程:函数递归

函数递归其实没有特定的语法,可以理解为一种思想,我喜欢称他为递归思想 ------------------------------------------------------------------------------------------------------- 简单可以理解为: 在函数内部,可以调用其他函数,或者他可以调用自身,这个函数就是递归函数 例子(1): def func(n): n+=1 if n>=5: return 'end' return func(n) r=fu