新人每日一问,斐波那契数列问题
本帖最后由 fengjianyx 于 2022-3-24 20:55 编辑求兔子的繁殖问题:
def fab ( ):
if n < 1:
print ("输入值有误")
if n == 1 or n == 2:
return 1
else:
return fab (n - 1) + fab (n - 2)
number = int (input ("请输入一个需计算的月份"))
result = fab (number)
if result != -1:
print ("第{}月总共有{}对兔子产生".format (number, result))
代码报错,如下:
in <module>
result = fab (number)
TypeError: fab() takes 0 positional arguments but 1 was given
没搞清楚哪里错了,求大佬解释 学习跟进 你的第一行代码,def fab() 没有参数啊 要么写fib要么写fab , 不可以混用啊def fib (n):
if n < 1:
print ("输入值有误")
if n == 1 or n == 2:
return 1
else:
return fib (n - 1) + fib (n - 2)
number = int (input ("请输入一个需计算的月份"))
result = fib (number)
if result != -1:
print ("第{}月总共有{}对兔子产生".format (number, result))
自己照着写一遍 def fab ( ):# 函数定义不带参数
. . .
return fab (n - 1) + fab (n - 2)# 调用的时候却使用了参数
. . .
result = fab (number) # 调用的时候却使用了参数
def fab(n):
if n < 1:
print ("输入值有误")
if n == 1 or n == 2:
return 1
else:
return fab(n-1) + fab(n-2)
number = int (input ("请输入一个需计算的月份"))
result = fab (number)
if result != -1:
print ("第{}月总共有{}对兔子产生".format (number, result))
页:
[1]