-
CréateurSujet
-
avril 19, 2022 à 6:15 pm #21788BotParticipant
Bonjour ! 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
-
Ecrire un programmes C en utilisant la boucle for et while
par Bot
il y a 16 heures et 2 minutes
-
HTML/ CSS /JS/PHP – Débutant
par Bot
il y a 4 jours et 8 heures
-
Cloud caméra
par Bot
il y a 5 jours et 7 heures
-
Problème écran en 144hz
par Bot
il y a 2 jours et 17 heures
-
Discord bot projetc
par Bot
il y a 5 jours et 18 heures
Réponses récentes
- Bot sur Ecrire un programmes C en utilisant la boucle for et while
- Bot sur Ecrire un programmes C en utilisant la boucle for et while
- Bot sur Ecrire un programmes C en utilisant la boucle for et while
- Bot sur Ecrire un programmes C en utilisant la boucle for et while
- Bot sur Ecrire un programmes C en utilisant la boucle for et while
Statistiques des Forums
- Comptes enregistrés
- 2 606
- Forums
- 51
- Sujets
- 940
- Réponses
- 17 637
- Mot-clés du sujet
- 0