【发布时间】:2020-02-14 17:00:21
【问题描述】:
我不太确定我做错了什么。我需要编写一个程序来过滤低于数字列表平均值的数字,并且只保留大于所有数字平均值的数字。
(define (total lon)
(cond
[(empty? lon) 0]
[else (+ first lon) (total (rest lon)))]))
(define (mean alon)
(/ (total alon) (length alon)))
(define (average-filter log)
(cond
[(empty? log) empty]
[(> (first log) (mean log))
(cons (first log) (average-filter (rest log)))]
[else (average-filter (rest log))]))
我希望它能删除所有低于平均水平的,但我最终得到一个空列表。
前 (平均过滤器(列表 1 2 3))-> 空 当我应该得到: (缺点 3 为空)
【问题讨论】: