zoukankan      html  css  js  c++  java
  • Python练手例子(5)

    25、求1+2!+3!+...+20!的和。

    程序分析:此程序只是把累加变成了累乘。

    #python3.7
    
    n = 0
    s = 0
    t = 1
    for n in range(1, 21):
        t *= n
        s += t
    print('1! + 2! + 3! + ... + 3! + 20! = %d' % s)
    
    结果:
    1! + 2! + 3! + ... + 3! + 20! = 2561327494111820313

    26、利用递归方法求5!。

    程序分析:递归公式:fn=fn_1*4!

    #python3.7
    
    def fact(j):
        sum = 0
        if j == 0:
            sum = 1
        else:
            sum = j * fact(j - 1)
        return sum
    
    print(fact(5))
    
    结果:
    120

    27、利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。

    #python 3.7
    
    def output(s, l):
        if l == 0:
            return
        print(s[l-1])
        output(s, l-1)
    
    s = input('Input a string:')
    l = len(s)
    output(s, l)
    
    结果:
    Input a string:opportunity
    y
    t
    i
    n
    u
    t
    r
    o
    p
    p
    o

    28、有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

    程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。

    #python 3.7
    
    def age(n):
        if n == 1: c = 10
        else: c = age(n - 1) + 2
        return c
    print(age(5))

    29、给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

    程序分析:学会分解出每一位数。

    #python 3.7
    
    x = int(input('请输入一个数:'))
    a = x / 10000
    b = x % 10000 / 1000
    c = x % 1000 / 100
    d = x % 100 / 10
    e = x % 10
    
    if a != 0:
        print('5位数:', e, d , c, b, a)
    elif b != 0:
        print('4位数:', e, d, c, b)
    elif c != 0:
        print('3位数:', e, d, c)
    elif d != 0:
        print('2位数:', e, d)
    else:
        print('1位数:', e)

    30、一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

    #python 3.7
    
    a = int(input('请输入一个数字:
    '))
    x = str(a)
    flag = True
    for i in range(int(len(x) / 2)):
        if x[i] != x[-i - 1]:
            flag = False
            break
    if flag:
        print('%d是一个回文数!' % a)
    else:
        print('%d不是一个回文数!' % a)
  • 相关阅读:
    C#编程总结 字符转码
    获取 苹果UDID 序列号
    SVN :This XML file does not appear to have any style information associated with it.
    oracle 实时查询最耗CPU资源的SQL语句
    Oracle 优化和性能调整
    weblogic管理脚本
    weblogic状态监控脚本
    oracle性能检测sql语句
    Oracle动态性能表-V$SESSION_WAIT,V$SESSION_EVENT
    linux HBA 卡驱动安装
  • 原文地址:https://www.cnblogs.com/finsomway/p/10364466.html
Copyright © 2011-2022 走看看