美文网首页
菜鸟编程学习(python‘++’--016)

菜鸟编程学习(python‘++’--016)

作者: 就如此简单 | 来源:发表于2018-10-21 21:10 被阅读0次

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'


相关文章

网友评论

      本文标题:菜鸟编程学习(python‘++’--016)

      本文链接:https://www.haomeiwen.com/subject/pskizftx.html