gpt4 book ai didi

scheme - 删除 double 功能(方案)

转载 作者:行者123 更新时间:2023-12-04 06:10:30 25 4
gpt4 key购买 nike

(define (delete-doubles lst)
(cond ((null? lst) '())
((null? (cdr lst)) (car lst))
((equal? (car lst) (cadr lst)) (delete-doubles (cdr lst)))
(else (cons (car lst) (delete-doubles (cdr lst))))))

这是我制作的代码。当该元素相继出现两次或多次时,它用于删除列表中的元素。代码完全正常,除此之外:
> (delete-doubles '(1 2 2 3 4 5))
(1 2 3 4 . 5)

我想删除 . ,我知道这与 cons 有关,但我不知道如何解决它。

提前致谢。

最佳答案

'(1 2 3)真正的意思是(cons 1 (cons 2 (cons 3 null)))'(1 2 . 3)真正的意思是(cons 1 (cons 2 3)
几个好的测试用例应该很快就能发现问题。一般来说,你应该从你能想到的绝对最小的测试用例开始。然后是下一个最小的。然后从那里上去。不要直接跳到一个大例子。

关于scheme - 删除 double 功能(方案),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7839938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com