0
A
回答
0
你必须要考虑三种情况:
(define (non-zero numbers)
(cond ((null? numbers) 0) ; is the list empty? return zero
((not (= (car numbers) 0)) ; is the current element non-zero?
(+ 1 (non-zero (cdr numbers)))) ; add 1 to the counter and recur
(else ; otherwise
(non-zero (cdr numbers))))) ; skip to the next element
或者,如果你的解释器支持它,一个更地道的解决办法是使用更高阶的程序:
(define (non-zero numbers)
(count (lambda (n) (not (zero? n)))
numbers))
无论哪种方式,它按预期工作:
(non-zero '(4 1 0 2 0 1 3))
=> 5
-1
我对计划根本不熟悉。但是这可以很容易地使用递归来实现。想象一下列表[0,1,2,2,0,1]。您需要沿着列表走下去,依次查看每个元素,并在每次在列表中找到0时增加一个计数器。
(define (count_zeroes numbers)
(if (null? numbers) 0
(+ 1 (count_zeroes (cdr numbers))))
+0
是啊谢谢..但在这里,我们检查的原子是一个非零值的条件? (用于检查我们使用的零(= 0(汽车号))),这就是为什么我困惑,我们如何检查原子是不是零? –
相关问题
- 1. 计数中的R列的非零值
- 2. 计数表中的非空或非零的列数
- 3. awk计数零和非零字段值:
- 4. 在sql中计数非零值
- 5. 如何计算给定数组列中非零值的数量?
- 6. 从方案中的嵌套列表中计数元素
- 7. 从列表方案
- 8. 方案:从列表
- 9. 从列表中获得最接近的非零值的最佳方法
- 10. 方案 - 从列表中列出
- 11. 在方案中计数列表中的数字或字符
- 12. 计算非零值的平均值
- 13. Python:如何在列表中设置零值/ array/pd.Series是下一个非零值?
- 14. Javascript/jQuery解决方案从表格中下拉列表中总结数值
- 15. 从数组中计数值在数据表列中的值
- 16. 从方案列表中删除项目
- 17. 从方案列表中获取元素
- 18. perl数组非零值
- 19. 方案列表
- 20. 在宏列表中取非零元素
- 21. 数据库中可列表集合的设计替代方案
- 22. 计数项目出现在结构化列表中的方案
- 23. 在Python中计算非零值的聚类数量?
- 24. 如何统计sql中包含非零值的行数
- 25. 从列表中删除零的函数?
- 26. 当列值从零变为非零值时使用rails发送电子邮件
- 27. 列表包括零的频率计数
- 28. Neo4j:Cypher - 从列表列表中计算空值的数量
- 29. 从数据帧中的每列中选择第一个非零值
- 30. SAS - 从列中的数据集中查找并打印第一个非零值
yeahh ..它那样做:)谢谢 –