antsite a écrit :
(define (somme-liste l)
(apply + l))
sinon ton code ne marche pas parce que une fois que tu as parcouru toute ta liste tu ne retourne pas le résultat mais (list), d'ailleurs je vois pas ce que tu veux faire avec (list), une liste vide ? > '() ou ()
sans apply :
non terminal:
(define (sum l)
(if (null? l) 0 (+ (car l) (sum (cdr l)))))
terminal:
(define (sum l)
(let aux ((l l) (res 0))
(if (null? l) res (aux (cdr l) (+ res (car l))))))
|
merci beaucoup antiste
oui, (list)=()
en fait, j'ai comprit grace a ton code, il faut trouver une condition zero, donc en modifiant mon code, ca donne :
(define (somme-liste L)
(if (pair? L)
(+ (car L)
(somme-liste (cdr L)))
0))
et là ca marhce nikel,
donc merci a toi