【发布时间】:2021-12-12 06:41:09
【问题描述】:
我正在尝试使用递归方法来查找列表中的最大值。 谁能解释一下我在这段代码中犯的错误以及下次如何处理它。
(defun f3 (i)
(setq x (cond (> (car (I)) (cdr (car (I))))
(f3 (cdr (I)))))
)
(f3 '(33 11 44 2) )
我也尝试了以下方法,但没有奏效:
(defun f3 (i)
(cond ((null I )nil )
(setq x (car (i))
(f3(cdr (i)))
(return-from max x)
)
非常感谢您的帮助。如果有帮助,我来自 java。
【问题讨论】:
-
你的
cond语法全错了。 -
x变量有什么用? -
(return-from max x)-- 你没有名为max的区块,你的意思是f3吗? -
(car (I))应该是(car i)。你把它和什么比较? -
这里有太多错误要修复它而不从头开始重写整个事情。
标签: lisp