24):1、题目:利用递归方法求5!。

    程序分析:递归公式:fn=fn_1*4!

#!/usr/bin/python
# -*- coding: UTF-8 -*- def fact(j):
sum = 0
if j == 0:
sum = 1
else:
sum = j * fact(j - 1)
return sum print fact(5)

    以上实例输出结果为:

120

    python3 参考方案:

def Factorial(n):
    if n == 1:
        fn=1
    else:
        fn = n*Factorial(n-1)
    return fn
print(Factorial(5))

    2、题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。

    程序源代码:

#!/usr/bin/python
# -*- coding: UTF-8 -*- def output(s,l):
if l==0:
return
print (s[l-1])
output(s,l-1) s = raw_input('Input a string:')
l = len(s)
output(s,l)

    以上实例输出结果为:

Input a string:abcde
e
d
c
b
a

    使用负数下标:

#!/usr/bin/python
# -*- coding: UTF-8 -*- def desc_output(s):
if(len(s) > 0):
print(s[-1]) # python 负数下标
desc_output(s[0:-1]) s = raw_input('Input a string:')
desc_output(s)

    Python3 下非递归,使用各列表的 reverse() 方法:

#!/usr/bin/env python3

S = input('Input a string:')
L = list(S)
L.reverse()
for i in range(len(L)):
print(L[i])
# coding:utf-8
def output(s):
s = list(s)
if len(s) == 0:
return
print(s[len(s) - 1])
s.pop()
output(s) output("abcde")

    Python3 下测试:

#!/usr/bin/env python3

s=input("输入一串字符: ")
s=list(s);
for i in range(0,int(len(s)/2)):
t=s[len(s)-i-1];
s[len(s) - i - 1]=s[i]
s[i]=t
print("".join(s))

    以下实例,可以支持中文字符:

# encoding:utf-8

'''
Created on 2017年8月14日
题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
@author: wangtaoyuan
'''
import sys
reload(sys)
sys.setdefaultencoding("utf8") str = raw_input('请输入:').decode('utf-8')
def reoutput(str):
if len(str) == 0:
return
print str[-1]
str = str[0: len(str) - 1]
reoutput(str)
reoutput(str)
# -*- coding: UTF-8 -*-

list = []
for i in range(1,6):
a = input('输入第 {} 个数字:'.format(i))
list.append(a)
list2 = list[::-1]
print(list2)

    Python3 测试实例:

s=input("请输入字符:")
for i in range(len(s)-1,-1,-1):
print(s[i],end="")

    Python3 测试实例:

def printlast(strinfo, index):
if (index + 1) == len(strinfo):
print(end="")
else:
printlast(strinfo, index + 1)
print(strinfo[index], end="")
printlast("abcdefg", 0)

    Python3 参考:

a=[]
for i in range(1,6):
b=input('请输入第'+str(i)+'个字符:')
a.append(b)
def fp(c):
if c==6:
return False
print(a[5-c],end=' ')
fp(c+1)
fp(1)

这两个小例子感觉蛮有意思的,有兴趣的可以练练手。如果感觉不错的话,请多多点赞支持哦。。。

  原文链接:https://blog.csdn.net/luyaran/article/details/80064473

python2.7练习小例子(二十四)的更多相关文章

  1. python2.7练习小例子(十四)

        14):题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示.     程序分析:程序分析:(a>b)?a:b这 ...

  2. python2.7练习小例子(十二)

        12):题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数" ...

  3. python2.7练习小例子(十)

        10):古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?     程序分析:兔子的规律为数列1,1 ...

  4. python2.7练习小例子(十八)

    19):题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数.      #!/usr/bin/python # -*- ...

  5. python2.7练习小例子(十六)

    16):题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数.     程序分析:利用 while 或 for 语句,条件为输入的字符不为 '\n'.     程序源代码: #!/u ...

  6. python2.7练习小例子(十五)

        15):题目:输出指定格式的日期.     程序分析:使用 datetime 模块.     程序源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- ...

  7. python2.7练习小例子(十九)

        19):题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? #!/usr/bin/python # -*- codi ...

  8. JAVA之旅(二十四)——I/O流,字符流,FileWriter,IOException,文件续写,FileReader,小练习

    JAVA之旅(二十四)--I/O流,字符流,FileWriter,IOException,文件续写,FileReader,小练习 JAVA之旅林林总总也是写了二十多篇了,我们今天终于是接触到了I/O了 ...

  9. 微信小程序把玩(二十四)toast组件

    原文:微信小程序把玩(二十四)toast组件 toast消息提示框,可用在提示一些信息,比如清楚缓存给用户一个友好的提示!或操作一些请求不想让用户有什么操作,toast也可以做到因为toast显示时其 ...

  10. WCF技术剖析之二十四: ServiceDebugBehavior服务行为是如何实现异常的传播的?

    原文:WCF技术剖析之二十四: ServiceDebugBehavior服务行为是如何实现异常的传播的? 服务端只有抛出FaultException异常才能被正常地序列化成Fault消息,并实现向客户 ...

随机推荐

  1. Wi-Fi

    AP就是一个无线的交换机,提供无线信号发射接收的功能 Wi-Fi是一种可以将个人电脑.手持设备(如PDA.手机)等终端以无线方式互相连接的技术 两个不一样的东西,无法比较的 你说的应该是无线路由器和无 ...

  2. Kubernetes里的secret最基本的用法

    Secret解决了密码.token.密钥等敏感数据的配置问题,使用Secret可以避免把这些敏感数据以明文的形式暴露到镜像或者Pod Spec中. Secret可以以Volume或者环境变量的方式使用 ...

  3. escape,unescape与encodeURIComponent,decodeURIComponent

    escape:将string转成unicode字符串 escape('

  4. 设计模式——原型模式(Prototype Pattern)

    原型模式:用原型实例制定创建对象的种类,并且通过拷贝这些原型创建新的对象. UML 图: 原型类: package com.cnblog.clarck; /** * 原型类 * * @author c ...

  5. Gym - 101334F 单调栈

    当时我的第一想法也是用单调栈,但是被我写炸了:我也不知道错在哪里: 看了大神的写法,用数组模拟的: 记录下单调递增栈的下标,以及每个数字作为最小值的最左边的位置. 当有数据要出栈的时候,说明栈里的数据 ...

  6. PHP设计模式——桥接模式

    <?php /* * 桥接模式 * 使用发送器,将一个类对象传入另一个类作为属性,耦合M+N个类 * */ abstract class Info { protected $_send = NU ...

  7. Java+maven+selenium3+testng 自动化测试环境IDEA

    idea .java环境变量jdk maven安装及环境变量配置这里就不多说了,网上有很多教程 这里我们只检测一下java.maven环境是否安装成功 win+R,运行cmd命令行:mvn -v   ...

  8. @WebListener 注解方式实现监听(eclipse和idea)

    eclipse进行演示: 1.创建 Dynamic Web Project ,Dynamic Web module version选择3.0 2.在自动生成 的web.xml配置,增加 metadat ...

  9. Python Notes | Python 备忘笔记

    [ File IO ] parameters used in the file IO: 该参数决定了打开文件的模式:只读,写入,追加等.所有可取值见如下的完全列表.这个参数是非强制的,默认文件访问模式 ...

  10. SpringBoot非官方教程 | 第十七篇:上传文件

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot14-upload/ 本文出自方志朋的博客 这篇文 ...