Python递归函数实例讲解

yipeiwu_com6年前Python基础

Python递归函数实例

1、打开Python开发工具IDLE,新建‘递归.py'文件,并写代码如下:

def digui(n):

  if n == 0 :

    print ('')

    return

  

  print ('*'*n)

  digui(n-1)

if __name__ == '__main__':

  digui(5)

这里递归打印*号,先打印后递归

2、F5运行程序,打印内容如下;

*****

****

***

**

*

3、更改一下打印和递归的 顺序,先递归后打印,代码如下:

def digui(n):

  if n == 0 :

    print ('')

    return

  digui(n-1)

  print ('*'*n)

  

if __name__ == '__main__':

  digui(5)

4、F5运行程序,打印内容如下;

*

**

***

****

*****

这是因为打印在最后,要等待执行到n==0,函数才能return。

5、再更改递归函数,递归函数带返回值,代码如下:

def digui(n):

  if n == 0 :

    return 0

  return n+digui(n-1)

  

if __name__ == '__main__':

  print (digui(5))

此函数作用从5+4+3+2+1+0累加结果。直到n==0时候返回。

6、F5运行程序,打印累加结果15

上面就是关于Python递归函数的相关知识点,感谢大家的阅读和对【听图阁-专注于Python设计】的支持。

相关文章

python 求10个数的平均数实例

一,已知十个数,求平均数。 L=[1,2,3,4,5,6,7,8,9,10] a=sum(L)/len(L) print("avge is:", round(a,3) ) 运行结果...

python在OpenCV里实现投影变换效果

python在OpenCV里实现投影变换效果

前面学习了仿射变换,是经常使用到的变换,也很容易理解。在日常生活中,经常会遇到下面这种的情况: 仔细地观察比亚迪秦这台汽车的车牌,发现它拍照的角度不是垂直的方向,而是有一个角度,当要进...

使用PYTHON接收多播数据的代码

首先声明,这不是我写的,而是我找到的,但是别人写的相当好。 复制代码 代码如下: # UDP multicast examples, Hugo Vincent, 2005-05-14....

详解Python的迭代器、生成器以及相关的itertools包

对数学家来说,Python这门语言有着很多吸引他们的地方。举几个例子:对于tuple、lists以及sets等容器的支持,使用与传统数学类似的符号标记方式,还有列表推导式这样与数学中集合...

详解在Python程序中自定义异常的方法

通过创建一个新的异常类,程序可以命名它们自己的异常。异常应该是典型的继承自Exception类,通过直接或间接的方式。 以下为与RuntimeError相关的实例,实例中创建了一个类,基...