python2.7练习小例子(二十四)
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练习小例子(二十四)的更多相关文章
- python2.7练习小例子(十四)
14):题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. 程序分析:程序分析:(a>b)?a:b这 ...
- python2.7练习小例子(十二)
12):题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数" ...
- python2.7练习小例子(十)
10):古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析:兔子的规律为数列1,1 ...
- python2.7练习小例子(十八)
19):题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. #!/usr/bin/python # -*- ...
- python2.7练习小例子(十六)
16):题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. 程序分析:利用 while 或 for 语句,条件为输入的字符不为 '\n'. 程序源代码: #!/u ...
- python2.7练习小例子(十五)
15):题目:输出指定格式的日期. 程序分析:使用 datetime 模块. 程序源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- ...
- python2.7练习小例子(十九)
19):题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? #!/usr/bin/python # -*- codi ...
- JAVA之旅(二十四)——I/O流,字符流,FileWriter,IOException,文件续写,FileReader,小练习
JAVA之旅(二十四)--I/O流,字符流,FileWriter,IOException,文件续写,FileReader,小练习 JAVA之旅林林总总也是写了二十多篇了,我们今天终于是接触到了I/O了 ...
- 微信小程序把玩(二十四)toast组件
原文:微信小程序把玩(二十四)toast组件 toast消息提示框,可用在提示一些信息,比如清楚缓存给用户一个友好的提示!或操作一些请求不想让用户有什么操作,toast也可以做到因为toast显示时其 ...
- WCF技术剖析之二十四: ServiceDebugBehavior服务行为是如何实现异常的传播的?
原文:WCF技术剖析之二十四: ServiceDebugBehavior服务行为是如何实现异常的传播的? 服务端只有抛出FaultException异常才能被正常地序列化成Fault消息,并实现向客户 ...
随机推荐
- log4go的日志滚动处理——生产环境的适配
日志处理有三类使用环境,开发环境DE,测试环境TE,生产环境PE. 前两类可以看成是一类,重要的是屏幕显示--termlog.生产环境中主要用的是socklog 和 filelog,即网络传输日志和文 ...
- Smokeping配置调整
smokeping两种邮件报警方式 一 .自带sendmail报警 修改这两句话to = 收件邮箱,多个逗号分隔from = smokealert@本机IP /usr/local/smokeping/ ...
- LeetCodeOJ刷题之14【Longest Common Prefix】
Longest Common Prefix Write a function to find the longest common prefix string amongst an array of ...
- Django:Django的路由系统
一,URLconf配置 1,基本格式 from django.conf.urls import url urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ] 2 ...
- HDU 4278 卡特兰,区间DP
题意:每个人有一个DI值,现在有一个小黑屋,这些人的顺序可以利用这个小黑屋调整,调整方式是入栈出栈方式,也就是说,这里的方案是有卡特兰数个方式. 调整后使得 d1*0 + d2*1 + d3*2 + ...
- 【[APIO2012]派遣】
题目 直接线段树合并就好了 之后在线段树上二分贪心选取金额较少的 如果是左偏树的话就开一个大根堆,根和子树顺次合并,合并之后堆内所有元素总和如果大于\(m\)就删除堆顶,由于每个元素只会被删除一次,所 ...
- 【luogu P3808 AC自动机(简单版)】 模板
题目链接:https://www.luogu.org/problemnew/show/P3808 #include <queue> #include <cstdio> #inc ...
- python序列化_json,pickle,shelve模块
序列化 序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes 把内存数据 转成字符,叫序列化 把字符 转成内存数据,叫反序列化 模块 ...
- Entity Framework 五
连接情景中的CRUD操作: 连接场景中的CRUD操作是一项相当简单的任务,因为默认情况下,上下文会自动跟踪实体在其生命周期中发生的更改,前提是AutoDetectChangesEnabled为true ...
- Asset Store 下载的package存在什么地方?
发现从Asset store下载的packages都不知道放在了什么地方 Windows 7,C:\Users\<username>\AppData\Roaming\Unity\Asset ...