• Python【每日一问】22


    问:

    【基础题】:输出 9*9 口诀表 

    【提高题】:古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? (PS:例如输入一个数字15,计算出第15个月兔子的总数)

    答:

    【基础题】:输出 9*9 口诀表 

     方法1:

    for i in range(1, 10):
        for j in range(1, i+1):
            print('%d *' % j, '%d' % i, '= %-3d' % (i*j), end=' ')  # 第三个对象是左对齐,宽度为3,end=''的作用是不换行
        print('')

    方法2:

    i = 1
    while i <= 9:
        j = 1
        while j <= i:
            print("%d * %d = %d	" % (j, i, j*i),end="")
            j += 1
        print("")
        i += 1

    方法3:

    for i in range(1, 10):
        for j in range(1, i+1):
            print('{} * {} = {}	'.format(j, i, j*i), end=' ')  # 此处使用 format 进行格式化输出
        print('')

    输出结果:

    【提高题】:古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? (PS:例如输入一个数字15,计算出第15个月兔子的总数)

    '''
    实际月份:1  2  3  4  5  6  7  8
    生仔对数:0  0  1  1  2  3  5  8
    成兔对数:0  0  1  2  3  5  8  13
    总体对数:1  1  2  3  5  8  13 21
    规律 ==》 斐波那契数列:前面相邻两项之和,构成了后一项
    '''
    
    def get_rabbit_number_by_month(total_month): if total_month == 1 or total_month == 2: return 1 else: return get_rabbit_number_by_month(total_month-1) + get_rabbit_number_by_month(total_month-2) if __name__ == "__main__": total_month = int(input("您想要知道第几个月的兔子总数:")) print("第{}个月兔子总数:{}对".format(total_month,get_rabbit_number_by_month(total_month)))

    输出结果:

  • 相关阅读:
    Linux Kernel 'b43'无线驱动本地特权提升漏洞
    Linux Kernel “dispatch_discard_io()”RO Disk Manipulation安全绕过漏洞
    Linux kernel ‘fill_event_metadata’函数资源管理错误漏洞
    Linux kernel ‘b43_request_firmware’函数格式化字符串漏洞
    phpcms 2007 onunload.inc.php update SQL注入漏洞
    出差到天津的计划
    Auguries of Innocence
    做一个东西要多久
    Wise Installation 9 的一个容易忽视的选项
    天津行总结路在嘴底下
  • 原文地址:https://www.cnblogs.com/ElegantSmile/p/10853191.html
Copyright © 2020-2023  润新知