0基础教程习题12—递归打印输出

递归打印


1、题目要求

 

使用递归函数从终端输入5个字符串,倒序输出,比如输入的是 1,4,2,6,3,在输入完3以后,倒序输出 3 ,6 ,2 ,4, 1


 

2、程序分析

 

关于递归函数,我这这篇文章里有详细的讲解 http://www.zhangdongshengtech.com/article-detials/59

递归的核心只有两个

  1. 递归结束的语句
  2. 递归调用的逻辑链路

这个题目显然不能用循环来处理,要知道,递归的目的就是消除循环

以往都是获得输入后输出,但是这个题目要求是倒序输出,那么,就在获得输入和输出中间加上函数的递归调用,这样,获得了输入,然后执行下一个获得输入并完成下一个输入后的输出,最后,完成本次的输出


 

3、示例代码

#coding=utf-8
def my_print(n):
    value = raw_input('input str:\n')
    if n <= 1:
        print value
    else:
        my_print(n-1)
        print value

my_print(5)