• 761317247

    博主,问第一节 阶乘输入负数直接 提示一大串代码 所依答案怎么写

    761317247发表于 2022/7/14 18:15:52
    • ljf7

      重新写条件语句和分状态对待。其实也可以用elisp来重写:
      (defun factorial (n)
      (if (zerop n)
      1
      (* n (factorial (1- n)))))
      不过无法处理负数。
      我用lua这样写:
      function fact (n)
      if n== 0 then
      return 1
      elseif n < 0
      return n * fact ( - n -1)
      else
      return n * fact ( n -1 )
      end
      end
      print(fact( -3))
      output: -6
      -6
      因此我觉得可以针对这个数是>0 还是 < 0 写 两个相似的func,在 n < 0 只需要在 fact ( - n -1)就可以了。
      Good luck to you.
      愿世界“傻人傻劲”再多一些.

      ljf7发表于 2023/2/24 9:44:15
  • SteveLiu

    第116页第一个例子,最后一行输出应该为
    Lua is great, isn't it? 2
    书本上少了一个2

    SteveLiu发表于 2021/9/12 13:40:15
  • WoodsGao

    81页12行有误
    if op == "+" the应为if open == "+" then

    WoodsGao发表于 2020/9/10 18:51:23
  • planck

    继续纠错二:28.5示例中,参数个数narg在28.6没看到累加

    planck发表于 2020/8/22 15:38:06
    • 符隆美

      感谢提示,我们和译者确认一下。

      符隆美发表于 2020/8/28 10:46:06
  • planck

    实例28.3有误,不存在colorname变量,应该是name变量,colorname和name变量应该是同一个

    planck发表于 2020/8/22 11:48:24
    • 符隆美

      感谢提示,我们和译者确认一下。

      符隆美发表于 2020/8/28 10:46:12
  • 1
  • 2