gpt4 book ai didi

lisp - 计算列表中有多少个正数(NIL 不是数字?)

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

我有一个列表:(setq listy '(4 -3 8 99 -40 61 12 -8 2 -20))

我的函数 lenPos 应该找到列表中所有正数的长度(即 6)。但是,我收到此错误:

*** - +: NIL is not a number

在 if 语句中进行任何数字检查之前,我会检查我的列表是否为空。所以我不明白错误是从哪里来的。

;num of positive elems
(defun lenPos (list)
(cond
((null list) 0) ;if null list return 0
(t (cond ;else
((> (car list) 0) (+ 1 (lenPos (cdr list))))
))
)
)

最佳答案

如果 list 不是 null,并且第一个元素不是正数,则该函数不会显式返回任何内容,因此隐式返回 nil

关于lisp - 计算列表中有多少个正数(NIL 不是数字?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46995302/

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