Analyse fréquentielle d'une phrase

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 456 fois - Téléchargée 27 fois

Contenu du snippet

Comme son nom l'indique ce code permet d'analyser la fréquence de chaque lettre dans une phrase en ayant au préalable saisie la dîte phrase

Source / Exemple :


#s -*- coding: cp1252 -*-           
print "Veuillez entrer une chaine de caractère : " ,
indice, liste, occurence, carac, ch,=0,[],[],'abcdefghijklmnopqrstuvwxyz' ,raw_input()
for i in range(0,len(carac),1):
    for t in range(0,len(ch),1):
        if carac[i]==ch[t]:
            liste.append(carac[i])
            indice+=1
    if indice>0:                                            #Si l'indice est non-nul on le stocke dans une liste
        occurence.append(indice)
    indice=0
nliste,liste=[],['*']+liste
for i in range(1,len(liste),1):
    if liste[i-1]!=liste[i]:
        nliste.append(liste[i])
for i2 in range(0,len(occurence),1):
     print "Il y a ",occurence[i2]," occurence(s) de ",nliste[i2]," dans la chaine, soit ",float(occurence[i2]*(100./len(ch)))," %"         #Affichage des résultats

Conclusion :


Le code ne prend pas en compte les majuscules.

A voir également

Ajouter un commentaire

Commentaires

LouDumo
Messages postés
4
Date d'inscription
lundi 19 juin 2006
Statut
Membre
Dernière intervention
21 mai 2007
-
Désolé, mais là vous avez encore du chemin à parcourir.
En effet, ceci fait l'affaire en une seule ligne de code :

>>> hasDups= [['a','b'],['a','b'],['c','d']]
>>> [ u for u in hasDups if u not in locals()['_[1]'] ]
[['a','b'],['c','d']]


Toute une discussion là : http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52560
LouDumo
Messages postés
4
Date d'inscription
lundi 19 juin 2006
Statut
Membre
Dernière intervention
21 mai 2007
-
Extrait du tutoriel Python



Demonstrate set operations on unique letters from two words
...
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a # unique letters in a
set(['a', 'r', 'b', 'c', 'd'])
>>> a - b # letters in a but not in b
set(['r', 'd', 'b'])
>>> a | b # letters in either a or b
set(['a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'])
>>> a & b # letters in both a and b
set(['a', 'c'])
>>> a ^ b # letters in a or b but not both
set(['r', 'd', 'b', 'm', 'z', 'l'])

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.