Python 练习实例25 Python 100例
题目:求1+2!+3!+...+20!的和。
程序分析:此程序只是把累加变成了累乘。
程序代码:
sum=0
for i in range(1,21):
k=1
for j in range(1,i+1):
k=k*j
sum=sum+k
print sum
Python 练习实例26 Python 100例
题目:利用递归方法求5!。
程序分析:递归公式:fn=fn_1*4!
程序代码(学习):
def fact(j):
sum = 0
if j == 0:
sum = 1
else:
sum = j * fact(j - 1)
return sum
print fact(5)
Python 练习实例27 Python 100例
题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
程序分析:无。
程序代码:
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)
Python 练习实例28 Python 100例
题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。
程序代码:
方法一:
m=10
for i in range(1,5):
m=m+2
print m
方法二:
def age(n):
m=10
if(n==1):
return 10
else:
m=age(n-1)+2
return m
print age(5)
Python 练习实例29 Python 100例
题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
程序分析:学会分解出每一位数。
程序代码:
s=int(raw_input('number:'))
a=s/10000
b=s/1000%10
c=s/100%10
d=s%100/10
e=s%10
if(s/10000!=0):
m=5
print m
print e,d,c,b,a
elif(s/100!=0):
m=4
print m
print d,c,b,a
elif(s/10!=0):
m=3
print m
print c,b,a
elif(s/10!=0):
m=2
print m
print b,a
elif(s/10!=0):
m=1
print m
print a
else(s/10!=0):
print 'error'
Python 练习实例30 Python 100例
题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
程序分析:无。
程序代码:
s=int(raw_input('number:'))
a=s/10000
b=s/1000%10
c=s/100%10
d=s%100/10
e=s%10
if((b==d)and(a==e)):
print 'Yes'
else:
print 'No'
网友评论