Bonjour à tous,
Je dois faire une fonction qui modifie une liste pour ne garder que les éléments qui commencent par une lettre donnée.
Par exemple :
(setq atomes '(pierre feuille ciseaux perdu jeu))
et ne retenir que ceux commençant par P ...
Voici ce que j'ai fait :
Merci pour votre aide et vos explications.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 (defun commence-par (lettre liste) (cond ((atom liste) nil) ((and (car liste) (equal (char (string (car liste)) 0) (char (string lettre) 0))) (rplacd liste (commence-par lettre (cdr liste))) ) ((not (equal (char (string (car liste)) 0) (char (string lettre) 0))) (commence-par lettre (cdr liste))) ) )
Partager