Voila j'ai un exo à faire
je dois créer Une fonction qui filtre o dans une liste
> (filtre-o '(o o o & o o o $ o o o))
(o o o o o o o o o)
Donc voila comment je m'y prend
la liste est vide donc je dois retourner nil
la liste commence par autre chose donc j'utilise la fonction consp
qui teste si son argument est un cons si c'est ce le cas je regarde la suite de la la sous liste et je regarde si sa valeur est egale à o et je le rajoute à ma nouvelle liste
Sinon si la liste commence par o je rajoute o à ma nouvelle liste
Merci de me dire si je fais bien(defun filtre-o (seau)
(setq bassine nil)
(cond
((not seau) (return bassine))
((consp (car seau)) (equal (cadr seau) 'o) (push (pop (cadr seau)) bassine))
((equal (car seau) 'o) (push (pop seau) bassine)) ) )
Partager