【发布时间】:2018-07-09 23:41:18
【问题描述】:
我正在尝试创建一个包含 n 个元素的列表。它必须产生这个输出:
(my-list 5)
>> 0 1 2 3 4
我有以下功能:
(define (my-list n)
(cond
((<= n 0) '())
(else (reverse-list (cons (- n 1)
(my-list(- n 1)))))
)
)
这正在产生
(my-list 10)
>>(8 6 4 2 0 1 3 5 7 9)
我知道这是由于在每次递归调用时都会反转列表,但我不确定什么是正确的方法。我的反向列表也工作正常。
提前致谢!
【问题讨论】:
-
如果我调用函数并输入一个列表,它是正确的反转
-
@Kattie.S 你的代码不可读,可以重新格式化吗?
-
现在好点了吗?
标签: list recursion scheme lisp racket