Mesurer occurence
UnMecRandom
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
J'ai un probleme sur python, je souhaite créer un programme qui, par analyse fréquentielle, va compter la fréquence de chaque lettre dans un mot codé donné, puis qui va calculer la clé, et fini par décrypter le texte. La clé c'est le décalage (leur écart dans l'alphabet) entre la lettre 'e' et la lettre de la plus fréquente dans le mot.
Je ne peut pas utiliser de liste, c'est un exercice. De plus, il m'est recommandé d'utiliser une variable 'fréquence' qui serait 26 fois le chiffre zéro qui augmente de 1 en fonction des lettre présente.
exemple : le mot aabccc afficherai fréquence=2130000....
je ne sais pas si tout cela est très clair mais si vous avez la moindre idée, je prend toutes les suppositions.
Merci d'avance...
J'ai un probleme sur python, je souhaite créer un programme qui, par analyse fréquentielle, va compter la fréquence de chaque lettre dans un mot codé donné, puis qui va calculer la clé, et fini par décrypter le texte. La clé c'est le décalage (leur écart dans l'alphabet) entre la lettre 'e' et la lettre de la plus fréquente dans le mot.
Je ne peut pas utiliser de liste, c'est un exercice. De plus, il m'est recommandé d'utiliser une variable 'fréquence' qui serait 26 fois le chiffre zéro qui augmente de 1 en fonction des lettre présente.
exemple : le mot aabccc afficherai fréquence=2130000....
je ne sais pas si tout cela est très clair mais si vous avez la moindre idée, je prend toutes les suppositions.
Merci d'avance...
A voir également:
- Mesurer occurence
- Mesurer avec telephone - Guide
- Mesurer performance pc - Guide
- Mesurer distance parcourue à pied gratuit - Télécharger - Sport
- Mesurer signal wifi - Guide
- Application pour mesurer les hertz - Télécharger - Audio & Musique
2 réponses
Bonjour,
Je ne peut pas utiliser de liste, c'est un exercice. De plus, il m'est recommandé d'utiliser une variable 'fréquence' qui serait 26 fois le chiffre zéro qui augmente de 1 en fonction des lettre présente.
26 fois quelque chose et travailler dessus, c'est utiliser une liste ou éventuellement un dict, tu vas quand même pas te trimbaler 26 variables dans ton script.
Je ne peut pas utiliser de liste, c'est un exercice. De plus, il m'est recommandé d'utiliser une variable 'fréquence' qui serait 26 fois le chiffre zéro qui augmente de 1 en fonction des lettre présente.
26 fois quelque chose et travailler dessus, c'est utiliser une liste ou éventuellement un dict, tu vas quand même pas te trimbaler 26 variables dans ton script.
Bonjour
26 fois le nombre 0 ne veut pas dire 26 variables, mais
Quand tu rencontres un a, tu incrémentes le premier caractère.
Si c’est un e, alors c’est le 5ème caractère
26 fois le nombre 0 ne veut pas dire 26 variables, mais
‘00000000000000000000000000’
Quand tu rencontres un a, tu incrémentes le premier caractère.
Si c’est un e, alors c’est le 5ème caractère
Bonjour,
En pratique, c'est faisable, mais fastidieux, car il faut :
- Extraire le caractère de la chaîne
- le convertir en integer
- L'incrémenter
- Le convertir en string
- Avec des slices reconstruire une nouvelle chaîne pour y insérer le caractère modifié.
- De plus, cela engendrera des bugs, car si on dépasse 9, alors tout sera décalé de 1 à la suite, alors il faudrait en plus utiliser un séparateur de valeurs XD pour pallier cela.
Alors qu'avec une liste d'entiers, on a juste à incrémenter une valeur selon un indice.
En pratique, c'est faisable, mais fastidieux, car il faut :
- Extraire le caractère de la chaîne
- le convertir en integer
- L'incrémenter
- Le convertir en string
- Avec des slices reconstruire une nouvelle chaîne pour y insérer le caractère modifié.
- De plus, cela engendrera des bugs, car si on dépasse 9, alors tout sera décalé de 1 à la suite, alors il faudrait en plus utiliser un séparateur de valeurs XD pour pallier cela.
Alors qu'avec une liste d'entiers, on a juste à incrémenter une valeur selon un indice.
Que ce soit fastidieux ne change rien au fait que
Si tu dépasses 9 rien ne t'empêche de passer à a, b ... z puis A, B.... Z
Mais bon vu que
Je ne peut pas utiliser de liste, c'est un exercice. De plus, il m'est recommandé d'utiliser une variable 'fréquence' qui serait 26 fois le chiffre zéro qui augmente de 1 en fonction des lettre présente.
Si tu dépasses 9 rien ne t'empêche de passer à a, b ... z puis A, B.... Z
Mais bon vu que
la lettre de la plus fréquente dans le mot., il s'agirait d'un mot et pas d'un texte entier, y'a quand même assez peu de chance de dépasser 9
il n'y a pas moyen de faire un substitut avec la variable frequence.
Oui, c'est sûr, donc une liste de 26 éléments.
, parcourir ta chaîne à l'aide d'une boucle for, récupérer la valeur ordinale du caractère. , par ex. pour 'a', on obtient 97, donc pour obtenir l'indice correspondant à car dans la var fréquences, on fait .
Voilà, tu peux déjà commencer en t'appuyant sur ça.