美文网首页
菜鸟编程学习(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