python2.7練習小例子(二十四)
阿新 • • 發佈:2018-04-25
[] sum output inf Coding == sys pop lse
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練習小例子(二十四)