试图用Lisp递归打印三角形
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了试图用Lisp递归打印三角形相关的知识,希望对你有一定的参考价值。
尝试以Lisp递归方式打印三角形。我溢出,但是我不知道从哪里来。请注意,我是Lisp编程的新手。
(defun triangle (n)
(if (not (oddp n))(progn
(print "This is not an odd integer")
(return-from triangle n)))
(if (< n 1) '())
(setf lst (cons (car(list n)) (triangle (- n 2))))
(print lst))
(三角形7)
答案
括号错误!根据您的缩进,我相信您需要以下内容:
(if (< n 1) '())
(setf ...
成为if-then-else,其中setf
在else分支中。为此,它应该看起来像:
(if (< n 1) '()
(setf ...
在当前设置中,始终评估setf
。
以上是关于试图用Lisp递归打印三角形的主要内容,如果未能解决你的问题,请参考以下文章