-
CréateurSujet
-
avril 19, 2022 à 6:15 pm #21788
Bot
ParticipantBonjour ! Est ce que qqn aurait la solution pour les codes suivants : (le but est de decrypter le code cesar) (je mets tout les codes, meme ceux que j’ai reussis)
——————–
Than 👑 -
CréateurSujet
Vous lisez 2 fils de discussion
-
AuteurRéponses
-
-
avril 19, 2022 à 6:15 pm #21789
py def cesarA(texte:str,cle:int)->str: """ Chiffre le texte avec le chiffrement de César """ dico = {chr(i+65): chr((i+cle)%26+65) for i in range(26)} chiffre="" for car in texte : if car in dico : chiffre=chiffre+dico[car] else : chiffre=chiffre+car return chiffre
py def cleD(cle:int)->int: return 26-cle
py def possibilites(texte:str)->list: """Fonction qui teste toutes les clés possibles de 1 à 26 pour déchiffrer le code de César La liste retournée est une liste de couple dont la première valeur est le message déchiffré et la seconde la clef utilisée (celle pour chiffrer c'est à dire la clef publique)""" liste = [] for cle in reversed(range(26)): cle_possible = cesarA(texte,cleD(cle)),cle liste.append(cle_possible) return liste
py def dictionnaire(fichier): accent = ['é', 'è', 'ê', 'à', 'ù', 'û', 'ç', 'ô', 'î', 'ï', 'â'] sans_accent = ['e', 'e', 'e', 'a', 'u', 'u', 'c', 'o', 'i', 'i', 'a'] fichier=open(fichier,'r',encoding="utf8") #on ouvre le fichier en lecture dictionnaire=fichier.readlines() #on extrait chaque ligne (il y a un mot par ligne) fichier.close() # on referme le fichier for i in range(len(dictionnaire)) : dictionnaire = dictionnaire.replace("'"," ") #pour supprimer les ' dictionnaire = dictionnaire.replace("n","") #pour supprimer les sauts de lignes for j in range(len(accent)): dictionnaire = dictionnaire.replace(accent[j], sans_accent[j]) #pour supprimer les accents dictionnaire=dictionnaire.upper() #pour changer la casse return dictionnaire print(dictionnaire('liste_de_mots.txt')) #pas d'inquiétude si l'affichage ne donne rien. Le dictionnaire est trop grand et ne peut être affiché mais il a bel et bien été créé
A partir d’ici je bloque :
py def bonne_cle(texte:str)->str: """Fonction qui détermine quelle est la bonne clé pour décrypter renturne un message indiquant la clé utilisée pour chiffrer ce message ainsi que le texte déchiffré""" liste_mots=dictionnaire('liste_de_mots.txt') liste_compteurs=[] # contient le nombre de vrai mots pour chaque possibilité liste_possibilites=possibilites(texte) # YOUR CODE HERE
Ensuite il y a la partie 2 , l’analyse frequencielle :
py def frequenceLettre(lettre,texte): compteur=0 for l in texte: if l==lettre: compteur=compteur+1 return compteur/len(texte) def dicoLettres(texte:str)->dict : """Fonction qui retourne un dictionnaire contenant les lettres présentes dans le texte ainsi que leurs occurences Les clefs du dictionnaire retourné sont les lettres du texte et les valeurs leurs occurences. Remarque: il ne faut pas compter les espaces""" dico = {} # YOUR CODE HERE
py def lettreMaximum(dico:dict)->str: """Fonction qui retourne la lettre dont l'occurence est la plus grande Précondition: Dictionnaire contenant comme clés les lettres du texte et leurs occurences comme valeurs Postconditions: la lettre dont l'occurrence est la plus grande""" occurence_min=0 lettre_max="" # YOUR CODE HERE
——————–
Than 👑 -
avril 19, 2022 à 6:15 pm #21791
py def decalage(lettre_max:str)->int: """Fonction qui détermine le décalage de César Préconditions: la lettre la plus présente dans le texte Postconditions: Le décalage qui a été utilisé pour coder le texte""" # YOUR CODE HERE
py def dechiffrage(texte_chiffre:str)->str: """Fonction qui décrypte les messages codés avec le code de César Préconditions: texte chiffré Postconditions: texte déchiffré""" # YOUR CODE HERE
thxx
——————–
Than 👑
-
-
AuteurRéponses
Vous lisez 2 fils de discussion
- Vous devez être connecté pour répondre à ce sujet.
Sujets récents
-
Quelqu’un aurait un crack de cobalt strike ?
par
Bot
il y a 1 jour et 17 heures -
AIDE VIRUS CHEVAL DE TROIE
par
Bot
il y a 3 jours et 2 heures -
Bonjour à vous!
par
Bot
il y a 4 jours et 15 heures -
Aide à l’apprentissage
par
Bot
il y a 4 jours et 13 heures -
je cherche des avis sur un code python
par
Bot
il y a 1 semaine et 2 jours
Réponses récentes
-
Bot sur AIDE VIRUS CHEVAL DE TROIE
-
Bot sur Problème Pip
-
Bot sur Problème Pip
-
Bot sur Problème Pip
-
Bot sur Problème Pip
Statistiques des Forums
- Comptes enregistrés
- 2 630
- Forums
- 51
- Sujets
- 971
- Réponses
- 17 971
- Mot-clés du sujet
- 0