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

Lisp Discussion :

Générer une liste aléatoire en lisp ?


Sujet :

Lisp

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Générer une liste aléatoire en lisp ?
    Bonjour,

    Est ce que quelqu'un saurait comment générer une liste aléatoire en lisp ?

    Par exemple :
    - a partir de la liste (1 2 3 4 5 6 7 8 9)
    - je voudrai obtenir (3 6 4 9 1 7 2 5 8)

    Merci pour aide..

    Rifiane

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 369
    Points : 23 623
    Points
    23 623
    Par défaut
    Est-ce que ton but est réellement de mélanger le contenu d'une liste existante, ou est-ce que tu cherches simplement à remplir une liste vide avec des nombres tirés au hasard ?

    Ce n'est pas le même problème.

  3. #3
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    en gros tu souhaite que ta liste soit désordonnée?
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    - Ben en fait si j'arrive à générer une suite de chiffre aléatoire (sans doublons) c'est parfait

    Je pensais que c'etait plus simple de partir d'une liste éxhistente....

    Rifiane


    PS : j'ai une deuxieme question qui vient s'ajouter celle-ci.. " Comment générer une sous-liste de liste ?
    exemple : ( 1 2 3 4 5 6 7 8 9) qui donnera ((1 2 3) (4 5 6) (7 8 9 ))

  5. #5
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 369
    Points : 23 623
    Points
    23 623
    Par défaut
    Citation Envoyé par rifian Voir le message
    - Ben en fait si j'arrive à générer une suite de chiffre aléatoire (sans doublons) c'est parfait
    Sans doublon, c'est un peu plus dur. Si tu omets ce contrôle dans un premier temps, c'est nettement plus simple.

    PS : j'ai une deuxieme question qui vient s'ajouter celle-ci.. " Comment générer une sous-liste de liste ? exemple : ( 1 2 3 4 5 6 7 8 9) qui donnera ((1 2 3) (4 5 6) (7 8 9 ))
    Même chose. C'est tout le temps le même cas − neuf chiffres résolus en trois listes de trois chiffres − ou c'est quelque chose d'un peu plus générique ?

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    - ben pour les doublons je suis obligé de ne pas avoir de doublons parce que je veux avoir une matrice résultat et n'avoir qu'une seule fois un chiffre (donc pas doublons ). C'est justement cette histoire de doublon jarrive pas à voir comment gérer ça

    - pour les sous liste, en fait c'est plus un cas générique..pas forcement des couples de trois. (Par contre si je peux rentrer en parametre la taille de ma sous liste ça pourrait fonctionner.. )

  7. #7
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Où en es-tu de tes recherches ?
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  8. #8
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Pour mélanger une liste:
    Code lisp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    (defun shuffle (list)
      "Returns a randomly re-ordered copy of list."
      (let ((result nil))
        (do ()
            ((null list) result)
          (let* ((which (random (length list)))
                 (it (nth which list)))
            (push it result)
            (setq list (remove it list :count 1))))))
    trouvé sur
    http://hampshire.edu/~lasccs/unscramble.lisp
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

Discussions similaires

  1. Générer une chaine aléatoire
    Par java_fun dans le forum Général Java
    Réponses: 24
    Dernier message: 07/11/2018, 23h03
  2. Réponses: 14
    Dernier message: 15/05/2006, 16h34
  3. Mélanger une liste aléatoirement
    Par Ickou dans le forum Langage
    Réponses: 19
    Dernier message: 23/12/2005, 13h56
  4. Besoin de générer une chaine aléatoire
    Par warsky dans le forum Langage
    Réponses: 7
    Dernier message: 01/12/2005, 19h34
  5. Générer une liste
    Par pfredin dans le forum Langage SQL
    Réponses: 6
    Dernier message: 02/04/2003, 15h30

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