Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试编写一个名为 unzip 的函数,该函数接受一个列表并评估两个列表的列表,其中两个列表具有原始列表的交替元素。
到目前为止,这就是我所拥有的:
(define (unzip lst) (if (null? lst) '() (...
这是它应该如何工作的:
(unzip '(1 a 2 b 3 c)) 应该评估为 ((1 2 3) (abc))
你所拥有的是错误的轨道,对不起。(想想如果给定一个空输入,结果应该是什么。)类似于我对你上一个问题的回答,这是一个框架解决方案:
(define (unzip l) (if (null? l) ??? (let ([next (unzip ???)]) (list (cons ??? ???) ???))))
适当填写???s。(是的,我的解决方案经过测试,适用于奇数和偶数输入。)
???