我叫MD 发表于 2018-11-27 19:15:05

直接看代码吧

这是视频中小甲鱼讲解递归关于兔子的一段代码
def fab(n):
    n1 = 1
    n2 = 1
    n3 = 1
    if n < 1:
      print('输入有误!')
      return -1
    while (n-2) > 0:             #这里循环的是当(n-2)> 0 的循环,意思应该就是当(n-2)<0 时,是不是就不应该进入到这个循环里面.   但是当我输入n的值为1或者2时,为什么还会返回值
         n3 = n2 + n1
         n1 = n2
         n2 = n3
         n -= 1

    return n3

result = fab()
if result != -1:
    print(result)

冬雪雪冬 发表于 2018-11-27 19:35:44

因为return在循环外面

我叫MD 发表于 2018-11-27 19:55:49

冬雪雪冬 发表于 2018-11-27 19:35
因为return在循环外面

意思是当我输入n的值为1或者2时,会直接返回n3 的值时吗?

冬雪雪冬 发表于 2018-11-27 20:58:49

我叫MD 发表于 2018-11-27 19:55
意思是当我输入n的值为1或者2时,会直接返回n3 的值时吗?

是的
页: [1]
查看完整版本: 直接看代码吧