如何返回n
列表的第一个元素?这就是我所拥有的:
(define returns(lambda (list n)
(cond ((null? list) '())
(((!= (0) n) (- n 1)) (car list) (cons (car list) (returns (cdr list) n)))
(else '()))))
Run Code Online (Sandbox Code Playgroud)
例子:
(returns '(5 4 5 2 1) 2)
(5 4)
(returns '(5 4 5 2 1) 3)
(5 4 5)
Run Code Online (Sandbox Code Playgroud)
Ósc*_*pez 10
你问的是这个take
程序:
(define returns take)
(returns '(5 4 5 2 1) 2)
=> (5 4)
(returns '(5 4 5 2 1) 3)
=> (5 4 5)
Run Code Online (Sandbox Code Playgroud)
这看起来像家庭作业,所以我想你必须从头开始实施.一些提示,填写空白:
(define returns
(lambda (lst n)
(if <???> ; if n is zero
<???> ; return the empty list
(cons <???> ; otherwise cons the first element of the list
(returns <???> ; advance the recursion over the list
<???>))))) ; subtract 1 from n
Run Code Online (Sandbox Code Playgroud)
别忘了测试它!
归档时间: |
|
查看次数: |
4603 次 |
最近记录: |