Tu as écrit une fonction qui compte chaque lettre. josmiley l'a réécrite de façon qu'elle fonctionne (sans compter ma version). Donc à partir de ce nombre compté (qui est la fréquence par rang) te suffit de diviser par la longueur...
Version imprimable
bonsoir merci a tous mais j'ai une erreur avec le code de jos
pour l'instant je reflechisCitation:
TypeError: unsupported operand type(s) for /: 'dict' and 'int'
Aurais-tu tenté un truc style print(statistiques(mot)/len(mot)) ???
La fonction de josmiley renvoie un dictionnaire, dictionnaire contenant les lettres du mot en clef et leur fréquence en valeur (tu aurais fait ne serait-ce qu'un print() de ce qu'elle renvoie...:roll:). Il est évident qu'on ne divise pas un dictionnaire par un entier, cela n'a aucun sens ni en python, ni en algorithmique.
Bonsoir les amis dans ma carrière de développeur je me suis toujours posé la question peut on faire de la factorisation
via de l'heritage et de l'interfacage
merci d'avance
Ca serait mieux d'ouvrir un nouveau sujet.
Sinon si on accepte factoriser au sens décrit ici, la question n'a pas trop de sens.
- W
desolé je n'arrive pas a ouvrir une nouvelle discussion mon problème est le suivant sachant que la température est une mesure de la chaleur comment introduire une mesure de robustesse
d'un mot de passe
Bouton "Ouvrir une nouvelle discussion" en haut de chaque rubrique du forum (oui je sais, c'était peut-être trop évident et probablement as-tu pensé à un piège)...
Ce n'est pas un souci Python donc ça n'a rien à faire ici. Ce serait plutôt algorithmique ou mathématique. Maintenant l'analogie entre chaleur et robustesse est peu pertinent. La chaleur c'est le transfert thermique d'un corps à un autre mais ce serait quoi la "robustesse" ?
La robustesse c'est une notion assez subjective. Elle fait référence à la facilité de casser un mot de passe selon divers facteurs et/ou technologies. Un mot de passe constitué de mots simples est "peu robuste" car il suffit de passer tous les mots du dictionnaire pour le trouver. Il y a donc déjà une notion de langage à prendre en compte.
On trouvera aussi une notion de longueur (plus il est long plus les possibilités augmentent). Il y aura aussi une notion de catégorisation (combien de caractères possibles? catégories de ces caractères (alphabétiques, numériques, spéciaux), pourquoi les caractères alphabétiques sont-ils "moins robustes" que des caractères spéciaux (d'un point de vue informatique pur, un 'a' ou un "+" c'est exactement la même chose)? Bref autant la chaleur est mesurable de façon objective autant la robustesse l'est beaucoup moins. Le seul truc que je vois c'est que plus la plage des caractères utilisés est large plus ça "devrait" être robuste...
Salut,
Il suffit d'entrer "robustesse mot de passe" pour trouver en quelques secondes cet article de Wikipedia.
On y trouve comment l'entropie (au sens de la théorie de l'information) est associée à la robustesse d'un mot de passe (comme la température à un lien avec l'entropie en physique).
Et chercher un peu sur Internet avant d'ouvrir une discussion reste quand même un préalable avant de poster.
- W
salut les amis je bloque sur des trucs metaphysiques
comment recuperer la liste des valeur du dictionnaire j'ai fais ce code waloumerci beaucoup pour votre aideCode:
1
2
3
4
5
6
7
8 def statistiques(phrase): return dict((x, phrase.count(x)/len(phrase)) for x in set(phrase)) fiche = statistiques("Lechatestmort") print(fiche) for value in fiche.values() print(value)
Salut,
Toujours pas pris le temps d'apprendre à ouvrir une nouvelle discussion?
Votre code devrait marcher modulo une erreur de syntaxe de base que vous ne devriez pas faire (ou reconnaitre) si vous aviez passé du temps à apprendre à utiliser Python.
- W