您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 南京分类信息网,免费分类信息发布

在南京学习Python去哪里好

2020/1/12 23:01:01发布142次查看

  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培训班,我们会专业老师为解答。

南京分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录