IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2024
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2024
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Une fonction qui construit, à partir d’une liste, la liste des atomes qui commencent par une lettre donnée
    Bonjour,
    J'aurais besoin d'aide sur une fonction, je dois faire une fonction qui construit, à partir d’une liste, la liste des atomes qui commencent par une lettre donnée, exemple :
    (garde ’p ’(art nez pied nez prendre silence nu)) => (pied prendre)
    Je dois utiliser la fonction string et la fonction char, voilà ce que je fais sauf que ça ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    (defun garde (lettre liste)
      (cond
        ((null liste) nil) 
        ((and (symbolp (car liste)) 
              (char= (char (string (car liste)) 0) lettre)) 
         (cons (car liste) (garde lettre (cdr liste)))) 
        (t (garde lettre (cdr liste)))))
    ça me renvoie : CHAR=: argument P is not a character

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    339
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 339
    Points : 526
    Points
    526
    Par défaut
    Bonsoir,

    Comme ceci, cela devrait fonctionner :

    Code lisp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    (defun garde (lettre liste)
      (cond
        ((null liste) nil)
        ((equal (char (string (car liste)) 0) 
                (char (string lettre) 0))
         (cons (car liste) (garde lettre (cdr liste))))
        (t
         (garde lettre (cdr liste)))))
     
    (setq liste '(art nez pied nez prendre silence nu))
    (setq lettre 'p)
    (print (garde lettre liste))
     
    ; Résultat :
    ; (PIED PRENDRE)

    nb: cons (car liste) peut être remplacé par rplacd liste

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2024
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2024
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Le code fonctionne parfaitement, merci infiniment !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/05/2019, 13h28
  2. Réponses: 3
    Dernier message: 20/08/2018, 10h42
  3. Réponses: 1
    Dernier message: 11/06/2013, 16h25
  4. rechargement a partir dune liste
    Par basteigne dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/06/2006, 02h42
  5. Réponses: 6
    Dernier message: 27/03/2006, 20h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo