关于斐波那契数列的迭代法
想问问大家这代码为什么报错了,是在n* = n - 2的这个等号,说是语法错误···def rabbit(n):
if n == 1 or n == 2:
return 1
else:
result1 = 1
result2 = 1
n* = n - 2
while n* >= 1:
result20 = result2
result2 = result1 + result20
result1 = result20
n* -= 1
else:
return result2
n = int(input('请输入经历的月数:'))
result = rabbit(n)
print('经历了 %d 个月后,总共有 %d 对小兔崽子。' % (n,result)) 本帖最后由 青出于蓝 于 2021-7-31 13:52 编辑
def rabbit(n):
if n == 1 or n == 2:
return 1
else:
result1 = 1
result2 = 1
n-=2
while n >= 1:
result3=result2
result2 = result2+result1
result1 = result3
n -= 1
else:
return result2
n = int(input('请输入经历的月数:'))
result = rabbit(n)
print('经历了 %d 个月后,总共有 %d 对小兔崽子。' % (n,result))
稍微改了一下 找到问题了,应该是星号不能乱用,我把n*重新起了个名字,就能跑起来了~ 青出于蓝 发表于 2021-7-31 13:10
同学,谢谢你呀!但是这里n-2不能去掉的哦,去掉了这个程序不能得到正确的结果~我找到问题啦,是*不能乱用,换个变量名就行了~还是谢谢你~{:5_109:} wmy1212 发表于 2021-7-31 13:23
同学,谢谢你呀!但是这里n-2不能去掉的哦,去掉了这个程序不能得到正确的结果~我找到问题啦,是*不能乱 ...
脑子昏了,没再idle上面跑
确实应该-2
谢谢{:10_323:} wmy1212 发表于 2021-7-31 13:22
找到问题了,应该是星号不能乱用,我把n*重新起了个名字,就能跑起来了~
建议起名字的时候起n1,n2这样的,或者按照功能来取名
然后就是变量名不能跟自带的关键字和函数名冲突
不重要的临时变量可用'_'下划线 wmy1212 发表于 2021-7-31 13:23
同学,谢谢你呀!但是这里n-2不能去掉的哦,去掉了这个程序不能得到正确的结果~我找到问题啦,是*不能乱 ...
???最佳给我干嘛
给楼上啊
不能乱给啊
页:
[1]