month = int(input("请输入月份: "))
if month == 1 or month == 2: #兔子从第三个月才开始生兔子,所以前两个月单拿出来
print("总共有兔子数为1只")
else:
a = 1
b = 1
c = 0
for i in range(3, month + 1):
c = a + b #第n个月等于第n-1个月+第n-2个月
a = b
b = c
print("总共有兔子数为:", c)
可以参考我的文章,兔子与斐波那契的内在逻辑:
https://ipman.blog.csdn.net/article/details/127635367
哥们儿,这段代码是一个计算斐波那契数列的程序,斐波那契数列听过吗,这里只是拿兔子当作很形象的案例来写代码,但是核心是斐波那契数列的运算;
斐波那契数列是指:数列中的第一个和第二个数为 1,从第三个数开始,每个数都等于前面两个数之和。数列的前几项为:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...
这就是斐波那契数列啊
1 1 2 3 5 8 13......
把题目写出来
chatgpt:
这段 Pthon 代码是用来计算斐波那契数列中第 n 项(n 由用户输入)的值,其中斐波那契数列的定义为:从第三个数开始,每个数都是前两个数之和,即 1、1、2、3、5、8、13、21、34、……。
在这个代码中,变量 a 和 b 用来记录斐波那契数列中的前两个数(即第一项和第二项),变量 c 用来记录当前计算的第 n 项的值。for 循环从第 3 项开始,一直循环到第 n 项,每次循环都将前两个数相加并更新变量 a、b 和 c 的值。最后输出变量 c 的值,即第 n 项的值,也就是在 n 个月后兔子的总数。
需要注意的是,在斐波那契数列中,第一个数和第二个数都是 1,因此在第一个 if 语句中特判了前两个月的情况。
不知道你这个问题是否已经解决, 如果还没有解决的话:想要掌握一门新技术,最需要具备的就是学习精神,很多人有了学习路线也不能够坚持学习下去, 导致自己白费功夫啥也没学会。所以在学习的过程中最好是有人能监督你,比方说老师或者是朋友。**