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. 什么是SWP文件?能否删除swp文件?

    SWP意思就是交换文件..SWP是各种操作系统(Windows或Linux)使用的交换文件的文件扩展名. 可以安全地清理SWP文件以释放磁盘空间. 要清理SWP文件,请按照以下步骤操作: 运行WinU ...

  2. 加深理解HTTP请求---网络基础TCP/IP

    为了了解HTTP,必须的了解TCP/IP协议族. 通常使用的网络实在TCP/IP协议族的基础上运作的.而HTTP就属于他的一个子集. 1.TCP/IP 协议族 计算机与网络设备要相互通信,双方就必须基 ...

  3. python+pymssql+selenium 获取短信验证码登录(实战练习)

    登录页面输入手机号, 获取短信验证码(验证码有10分钟有效期) 1 连接sql server数据库,获取10分钟之内的有效短信验证码 2 页面输入手机号,并获取验证码.若存在有效验证码则输入验证码,若 ...

  4. IOS 集成友盟分享

    #import <Foundation/Foundation.h> @interface UMSocialSinaHandler : NSObject +(void)openSSOWith ...

  5. MySQL:数据库入门篇2

    #移除主键时需要先解除递增,才能解除主键 alter table info modify id int null , drop PRIMARY key 一.用户权限 1.创建用户 create use ...

  6. Linux 安装ngnix

    第一步:把nginx的源码包上传到linux系统/home 第二步:解压缩 [root@localhost ~]# tar zxf nginx-1.8.0.tar.gz 第三步:使用configure ...

  7. putty 启动 linux 下的oracle

    没搞过linux ,仅作记录: 1 打开putty.exe 程序 ,选择 连接 2 输入linux 的用户名和密码后,按下图操作: 3  启动监听 4 命令总结: 1.  sudo su - orac ...

  8. ng-repeat 指令(带有数组)

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  9. Spring知识点总结(六)之Spring事务

    **************************************************************************************************** ...

  10. 不再手写import - VSCode自动引入Vue组件和Js模块

    :first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdow ...