编写一个Scheme函数(sumList),它返回列表中应作为参数传递的所有数字的总和。该列表可以包含数字,非数字符号和其他列表。您的函数应该选择子列表中的所有数字并将它们添加到总数中。如果列表为空,您可以假设总数为0。用法示例:
(sumList'((1 2 3)5 a(10)()) 21
答案 0 :(得分:0)
(define (sumList lst)
(cond
([empty? lst]
0)
([list? (car lst)]
(+ (sumList (car lst)) (sumList (cdr lst))))
((not(number? (car lst)))
(sumList (cdr lst)))
(else
(+ (car lst)(sumList (cdr lst))))))