lakers009 发表于 2018-8-13 11:15:11

(记录)python篇:六_ 函数2

  #递归函数
  #函数内部,一个函数可以调用自身本身,这个函数就是递归函数。
def num(x):#第一步  
    return num_a(n,1) #第二部
  
def num_a(a,b): #与第二部对应,如果此时的num_a与上一步定义的函数不对应,则代码报错。
  
    if a==1:    #(最后一部判断)由于a==3,所以a==1不成立,直到a==1时才返回b,循环才结束。
  
      return b
  
    return num_a(a-1,a*b)#此时循环结束,但是判断里的循环未结束。
  #x等于3时
  #num_a(3,1)
  #num_a(2,3)
  #num_a(1,6)
  #返回num_a(a-1,a*b)值与上面对于num_a(a,b),a在不断减1,而b得出定义表达式的a*b相乘,直到a==1时,判断成立,return返回结束。
  #所以答案为num_a(1,6),a==1,b==6
  #此递归函数也和循环是等价的,但是他不依靠循环语句,只是本身咋不断调用函数,因此会发生栈溢出的问题。
  学习内容来自廖俊峰的官方网站!
  ps:本人python不是抄袭,而是学习篇>>>写的是本人学习的笔记,记录下来方便本人以后参考。
页: [1]
查看完整版本: (记录)python篇:六_ 函数2