深圳Python培训
达内深圳Python培训中心

185-8926-6248

热门课程

快速掌握Python的递归函数

  • 时间:2018-07-04 12:40
  • 发布:深圳python培训班
  • 来源:深圳达内

快速掌握pyhton的递归函数?函数是Python技术学习中重要的一个环节,深入掌握该阶段的知识内容,对于Python技术能力的提升非常有帮助,这里就针对递归函数与匿名函数两种函数调用进行系统的介绍分析。 快速掌握pyhton的递归函数?(如果你还更多疑问,请点击点击>>>在线客服)

快速掌握Python的递归函数

如何理解递归函数

a) 引言:在一个函数中自己调用自己会怎么样呢?会陷入无限的调用循环。为了解决该问题就需要使用递归。

b) 应用:

i. 案例分析:编写一个函数,该函数接收一个整数n,然后计算输出n的阶乘。

1. 首先定义一个一个函数def factorial(n),该函数应该怎么实现呢?我们知道计算n的阶乘有如下规律:n!=n*[(n-1)*[n-2]…*1]=n*(n-1)!

2. 函数实现步骤可以是

def factorial(n):

1.计算(n-1)的阶乘

2.返回step1的结果值*n

要完成1步的事情,就是要计算(n-1)!。由于我们这个函数是计算n!,因此1步也可以理解为,以n-1为参数,调用factorial函数。代码就会变成:

def factorial(n):

1.factorial(n-1)

2.返回step1的结果值*n

在该代码中,出现了在factorial函数中调用factorial函数的情况。出现了函数的递归。为了完善上述代码,可以将代码中的第二部也翻译成代码:

def factorial(n):

1. int result=factorial(n-1)

2. return result*n

但是问题也出现了,加入n=3,在fac(3)的内部会调用fac(2),在fac(2)中会调用fac(1),在fac(1)中会调用fac(0)-》fac(-1)……因此我们需要规定一个循环调用结束的条件。在当前程序中当参数n的值为1时,则计算1的阶乘,到这一步就没有必要继续递归下去的必要了,因此n=1是,应当直接返回。

def factorial(n):

if(n==1):

return 1

int result=factorial(n-1)

return result*n

达内Python培训课程还有严格、科学、负责的教学就业管理制度,班主任、职业规划师全程跟班,把握每位学员的学习状态,并有专业的职业素养课和就业指导课,确保教学及就业质量。通过以上python知识分享,想必大家对于python知识都有一定了解,如果你还更多疑问,欢迎你在线深圳python培训班,我们会资深专业老师为解答。

上一篇:学Python培训机构哪家好
下一篇:零基础学python培训难不难

马上预约三天免费体验课

姓名:

电话:

人工智能将来取代人类?2018年你相信

学人工智能(AI)和机器技术有什么关系

学Python语言课程主要有什么内容

哪家python培训班比较好?2018年如何选择

选择城市和中心
江西省

贵州省

广西省

海南省

白菜网首存送彩金网站-免费送彩金白菜网址大全-自助领取彩金38不限ip-人工智能培训