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

Python Discussion :

Classer l'occurence des caractères [Python 3.X]


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Université
    Inscrit en
    Février 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Université

    Informations forums :
    Inscription : Février 2015
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Classer l'occurence des caractères
    Bonjour voila j'ai besoin d'un peu d'aide pour calsser des caractères , je m'explique je tape un texte grace a la fonction input et on me renvoie , si je tape PROGRAMMATION par exemple :

    Il ya 2 "A" dans votre phrase

    Il ya 0 "B" dans votre phrase

    Il ya 0 "C" dans votre phrase

    Il ya 0 "D" dans votre phrase

    Il ya 0 "E" dans votre phrase

    Il ya 0 "F" dans votre phrase

    Il ya 1 "G" dans votre phrase

    Il ya 0 "H" dans votre phrase

    Il ya 1 "I" dans votre phrase

    Il ya 0 "J" dans votre phrase

    Il ya 0 "K" dans votre phrase

    Il ya 0 "L" dans votre phrase

    Il ya 0 "M" dans votre phrase

    Il ya 1 "N" dans votre phrase

    Il ya 2 "O" dans votre phrase

    Il ya 1 "P" dans votre phrase

    Il ya 0 "Q" dans votre phrase

    Il ya 2 "R" dans votre phrase

    Il ya 0 "S" dans votre phrase

    Il ya 1 "T" dans votre phrase

    Il ya 0 "U" dans votre phrase

    Il ya 0 "V" dans votre phrase

    Il ya 0 "W" dans votre phrase

    Il ya 0 "X" dans votre phrase

    Il ya 0 "Y" dans votre phrase

    Il ya 0 "Z" dans votre phrase

    ce que je veux c'est qu'on me classe les lettres par ordre d'apparition , de la plus frequente a la moins presente

    j'ai donc fait ceci : ll=list((A, B,C,D,E,F,G,H,I,J,K,L ,M,N,O,P,Q,R,S,T,U,V ,W,X,Y,Z))

    ll.sort(reverse=True)

    pour PROGRAMMATION on me renvoie : voici les lettres presentes dans ce mot ou cet ensemble de mots classés de la plus presente a la moins presente : [2, 2, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

    Mais au lieu de renvoyer Une liste de nombre j'aimerais bien renvoyer [A,R,.,.,.,.,.,.]

    Merci d'avance pour votre aide

  2. #2
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Plutôt que d'utiliser une liste avec toutes les lettres, tu devrais composer un dictionnaire dont les clefs sont les lettres présentes. En parcourant le mot saisie lettre par lettre quand une lettre n'est pas dans le dictionnaire tu l'ajoutes avec pour valeur 1, quand elle est déjà présente tu incrémentes la valeur.

    Une fois terminé tu n'as plus qu'à extraire la liste des clefs triée en fonction de leur valeur dans le dictionnaire.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  3. #3
    Candidat au Club
    Homme Profil pro
    Université
    Inscrit en
    Février 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Université

    Informations forums :
    Inscription : Février 2015
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    bonjour et merci , je n'ai pas composé avec un dictionnaore et j'ai creer plusiuerus fonctions sans prealablement , je ne peux donc pas tout changer , il n'y a pas une methode pour faire sans stp ?

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Amateur
    Inscrit en
    Janvier 2015
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Amateur

    Informations forums :
    Inscription : Janvier 2015
    Messages : 24
    Points : 34
    Points
    34
    Par défaut
    Bonjour, tu peux essayer ce bout de code, ou prendre ce qui t'intéresse dedans:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    texte = "PROGRAMMATION"
     
    texteConvertiEnListe = list(texte)
    sansLesDoublons = set(texteConvertiEnListe)
    sansLesDoublonsTrieParNbOccurrence = sorted(sansLesDoublons, key = lambda self, other = texteConvertiEnListe: other.count(self), reverse = True)
     
     
    for lettre in sansLesDoublonsTrieParNbOccurrence:
        print("Il y a ", texteConvertiEnListe.count(lettre), " ", lettre, " dans le texte")
    Il y a sans doute plus simple, mais bon...

  5. #5
    Candidat au Club
    Homme Profil pro
    Université
    Inscrit en
    Février 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Université

    Informations forums :
    Inscription : Février 2015
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci ca marche impec

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/02/2015, 13h29
  2. [Débutant][JSP] Ajout des caractères à une String...
    Par Henkyl dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 04/03/2004, 16h30
  3. Substituer des caractères d'un AnsiString
    Par Walm dans le forum C++Builder
    Réponses: 2
    Dernier message: 23/12/2003, 10h02
  4. Où trouver la liste des caractères spéciaux?
    Par gamez dans le forum Langage
    Réponses: 3
    Dernier message: 19/08/2003, 17h54
  5. insérer des caractères accentués INFORMIX/JDBC
    Par donde dans le forum Informix
    Réponses: 2
    Dernier message: 19/11/2002, 20h02

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