gpt4 book ai didi

recursion - Lisp 递归函数,返回列表

转载 作者:太空宇宙 更新时间:2023-11-03 18:54:38 24 4
gpt4 key购买 nike

知道这是一个新手问题我提前道歉。我正在编写一个递归函数,它返回给定列表中 'o 的数量

(defun garde-o (liste)
(cond
((not liste) 0)
((equal (car liste) 'o) (+ 1 (garde-o(cdr liste))) )
((garde-o(cdr liste)) )
)
)

我不想返回出现的次数,而是只返回给定的列表 'o。

像那样:

(garde-o '(a o x & w o o))应该返回 => (o o o)

我不想使用 pop、push、set...只是找不到 of 来返回它。

最佳答案

您当前的版本返回一个数字,该数字在每次递归时递增。所以你建议的版本应该通过构建一个列表来工作,在每次递归时扩展它。

0 替换为 ‘(),并将 + 1 替换为 cons ‘o

关于recursion - Lisp 递归函数,返回列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28494766/

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