安顺场 发表于 2020-12-8 18:44:20

不懂就问!递归:这帮小兔崽子

求教导!
俺学艺不精,关于甲鱼视频里有个不会的点,想请大佬帮我解释。

def fab(n):
    n1 = 1
    n2 = 1
    n3 = 1

    if n < 1:
      print('输入有误!')
         return -1

    while (n-2) > 0:
      n3 = n2 + n1
      n1 = n2
      n2 = n3
      n -= 1

    return n3

result = fab(20)
if result != -1:
    print('总共有%d对小兔崽子诞生!' % result)

两个问题大佬们:
1、为啥要都=1?
2、为啥要return -1?

给各位添麻烦了

heidern0612 发表于 2020-12-8 18:58:23

1、变量初始化

2、只是代表返回个标志。

安顺场 发表于 2020-12-8 20:53:34

heidern0612 发表于 2020-12-8 18:58
1、变量初始化

2、只是代表返回个标志。

求问,‘-1’既然是个标志 那意味着是什么都可以吗?

heidern0612 发表于 2020-12-9 07:46:44

安顺场 发表于 2020-12-8 20:53
求问,‘-1’既然是个标志 那意味着是什么都可以吗?

是的,你返回什么都可以,相应的下面if判断也要符合就行。

但是不要返回0或1这种布尔值,比较让人迷茫。
页: [1]
查看完整版本: 不懂就问!递归:这帮小兔崽子