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中的元类(metaclass)

译注:这是一篇在Stack overflow上很热的帖子。提问者自称已经掌握了有关Python OOP编程中的各种概念,但始终觉得元类(metaclass)难以理解。他知道这肯定和自省有...

Python3中多线程编程的队列运作示例

Python3,开一个线程,间隔1秒把一个递增的数字写入队列,再开一个线程,从队列中取出数字并打印到终端 #! /usr/bin/env python3 import time i...

在Django同1个页面中的多表单处理详解

在Django同1个页面中的多表单处理详解

快速上手Django实现项目 近期公司在做1个海淘的项目,APP为pylot。由于时间比较赶,加上隔壁那哥们不在,只能自己挑大梁了。结果,当项目做出来之后,被领导狠狠的批了一顿,说怎么用...

Python中最好用的命令行参数解析工具(argparse)

Python 做为一个脚本语言,可以很方便地写各种工具。当你在服务端要运行一个工具或服务时,输入参数似乎是一种硬需(当然你也可以通过配置文件来实现)。 如果要以命令行执行,那你需要解析...

linux环境下python中MySQLdb模块的安装方法

前言 最近开始学习python数据库编程后,在了解了基本概念,打算上手试验一下时,卡在了MYSQLdb包的安装上,折腾了半天才解决。记录一下我在linux中安装此包遇到的问题。 系统是u...