Bonjour à tous
Voila je cherche à trouver la position d'un élément d'une liste donné
le problème je but sur la syntaxe qui me permettrait de résoudre mon probleme
disons que j'ai un liste (a b c)
ma fonction doit pouvoir me retourner 0 quand je souhaite la position de a
et 2 quand je souhaite la position c et nil s'il ne fait parti de la liste
ma fonction marche sauf pour le cas ou il ne fait parti de la liste car j'essayé d'ajouter 1 à nil je sais que je ne suis pas loin
voila la fonction
je voudrais pouvoir ajouter un test qui permet de ne pas ajouter 1 si l’élément de la liste est égal à nil(defun indice (lettre liste)
(cond
((atom liste) nil)
((equal (car liste) lettre) 0)
((1+ (indice lettre (cdr liste))))))
alors j'ai essayé plusieurs chose mais en vain
ou(defun indice (lettre liste)
(cond
((atom liste) nil)
((equal (car liste) lettre) 0)
((not (equal (car liste) nil)) (1+ (indice lettre (cdr liste))))))
ou(defun indice (lettre liste)
(cond
((atom liste) nil)
((equal (car liste) lettre) 0)
((and (not (equal (car liste) nil)) (1+ (indice lettre (cdr liste)))))))
Merci pour votre aide(defun indice (lettre liste)
(cond
((atom liste) nil)
((equal (car liste) lettre) 0)
((equal (car liste) nil) nil)
((1+ (indice lettre (cdr liste))))))
Partager