|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() |
Bonjour,
Je cherche une solution pour ce problème: Dans la liste à plusieurs niveaux laisser les atomes contenant les chiffres exemple (as34 tt66 ( hhj lo3 ) bb m9) ---> (as34 tt66 (lo3) m9) Merci |
|
|
00
|
|
|
#2 |
![]() Inscription : novembre 2006 Messages : 1 757 ![]() |
Tu écris un postulat AsDigit qui teste si un atome contient un chiffre ou non.
Dans ton interprète il doit y avoir en standard une fonction explode ou un truc du genre qui transforme les atomes littéraux en listes de caractères, ainsi que des fonctions qui testent si un caractère est un chiffre. Cela fait tu écris ta fonction drop ainsi: L'argument L est supposé être une liste. Tu regardes si (car L) est un atome. Si c'est le cas tu retournes (drop (cdr L)) s'il contient des chiffres, et sinon tu retournes (cons (car L) (drop (cdr L))) Si ce n'est pas un atome tu retournes (cons (drop (car L)) (drop (cdr L))) Mettons que ton postulat s'appelle HasDigit (defun drop (L) (if (atomp (car L)) (if (HasDigit (car L)) (drop (cdr L))) (cons (car L) (drop (cdr L)))) (cons (drop (car L)) (drop (cdr L)))))) Je ne garantis pas la syntaxe. LISP: Lots of Insipid and Stupid Parentheses. But so nice !!! Pour les cours je connais surtout des références anciennes Patrick Henry Winston, Harald Wertz.
__________________
Ce qu'on trouve est plus important que ce qu'on cherche. Maths de base pour les nuls (et les autres...) |
|
|
00
|
|
|
#3 | |
|
Inactif
Inscription : juillet 2005 Messages : 1 958 ![]() |
Citation:
|
|
|
|
00
|
|
|
#4 | |
|
Futur Membre du Club
![]() |
Citation:
![]() |
|
|
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() yorick Étudiant Inscription : avril 2011 Messages : 17 ![]() |
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com