Recursion 方案递归

Recursion 方案递归,recursion,scheme,Recursion,Scheme,我试图创建一个scheme递归函数deep_count,它计算数字的总和,即使它嵌套在子列表中 (define deep_count (lambda (xs) (cond ((empty? xs) 0) ((list? (first xs)) (+ (deep_count (first xs)) (deep_count (rest xs))))

我试图创建一个scheme递归函数deep_count,它计算数字的总和,即使它嵌套在子列表中

(define deep_count
  (lambda (xs)
    (cond 
      ((empty? xs) 0)
      ((list? (first xs)) (+ 
                           (deep_count (first xs)) 
                           (deep_count (rest xs))))
      (else (+ 1 (deep_count (rest xs)))))))

(deep_count '(1 2 3 (4 5 6) ((7 8 9) 10 (11 (12 13)))))
但我得到的是13分,而不是91分。 这里怎么了


编辑:没关系,我知道原因。

结尾有个小错误。更改此项:

(+ 1 (deep_count (rest xs)))
。。。为了这个,你们都准备好了:

(+ (first xs) (deep_count (rest xs)))