鱼C论坛

 找回密码
 立即注册
查看: 1836|回复: 2

[已解决]递归中的小兔子问题求助!!

[复制链接]
发表于 2019-7-8 21:31:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def fab(n):
        a1 = 1
        a2 = 2
        a3 = 3
        if n < 1:
                print('输入有误!')
                return -1
        while (n-2) > 0:
                a3 = a1 + a2
                a1 = a2
                a2 = a3
                n -=1
                return a3
result = fab(20)
if result != -1:
       
SyntaxError: invalid syntax

抄的是第二版书上的代码,到result=fab(20)这里,就会报错invalid syntax,是哪里不对呢?求解答
最佳答案
2019-7-8 23:03:27
本帖最后由 jackz007 于 2019-7-8 23:04 编辑
  1. def fab(n):
  2.     a1 = 1
  3.     a2 = 2
  4.     a3 = 3
  5.     if n < 1:
  6.         return -1
  7.     while (n-2) > 0:
  8.         a3 = a1 + a2
  9.         a1 = a2
  10.         a2 = a3
  11.         n -= 1
  12.     return a3            # 缩进位置有误,应该在完成循环后才 return

  13. result = fab(20)
  14. if result != -1:
  15.     print(result)        # 新补充的语句块  
  16. else:                    # 新补充的语句块  
  17.     print('输入有误!')   # 输入错误信息挪动到此处显示
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-7-8 23:03:27 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2019-7-8 23:04 编辑
  1. def fab(n):
  2.     a1 = 1
  3.     a2 = 2
  4.     a3 = 3
  5.     if n < 1:
  6.         return -1
  7.     while (n-2) > 0:
  8.         a3 = a1 + a2
  9.         a1 = a2
  10.         a2 = a3
  11.         n -= 1
  12.     return a3            # 缩进位置有误,应该在完成循环后才 return

  13. result = fab(20)
  14. if result != -1:
  15.     print(result)        # 新补充的语句块  
  16. else:                    # 新补充的语句块  
  17.     print('输入有误!')   # 输入错误信息挪动到此处显示
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-24 13:05:53 | 显示全部楼层
感谢指点!!!!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-24 14:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表