Python【每日一问】22

本文提供了三种不同的方法来输出9*9乘法口诀表,并通过递归函数实现了一个经典的数学问题——计算任意月份的兔子总数,该问题遵循斐波那契数列的规律。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问:

【基础题】:输出 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\t" % (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('{} * {} = {}\t'.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)))

输出结果:

 

转载于:https://www.cnblogs.com/ElegantSmile/p/10853191.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值