BESOIN D’AIDE VRAIMENT S’IL VOUS PLAÎT , pour de la nsi niveau première débutant pour un scripte sur les codes ceasar et de crypter un texte

Sagot :

Réponse :

Bonsoir,

Alors déjà on ne dit pas crypter en Français, on dit chiffrer :)

Voici la fonction de chiffrement et déchiffrement avec la méthode Cesar:

ATTENTION: tu devras éditer 'c h r( o r d (letter)+decalage )' et

'c h r( o r d (letter)-decalage )' dans chacune des fonctions pour enlever les espaces. Merci Caylus :)

# -*- coding: utf-8 -*-

"""

Created on Tue Mar 15 19:32:44 2022

@author: HP

"""

def chiffrer(texte, decalage, sens):

   chiffrement=[]

   for letter in texte:

       if letter ==' ':

           chiffrement.append(' ')

           continue

       if sens =="gauche-droite":

           chiffrement.append(c h r( o r d (letter)+decalage ))

       elif sens=="droite-gauche":

           chiffrement.append(c h r( o r d (letter)-decalage ))

       else:

           print ("L'argument décalage doit être 'droite-gauche' ou 'gauche-droite'. ")            

           return

   return ''.join(chiffrement)

def dechiffrer(texte, decalage, sens):

   chiffrement=[]

   for letter in texte:

       if letter ==' ':

           chiffrement.append(' ')

           continue

       if sens =="gauche-droite":

           chiffrement.append(c h r(o r d (letter)-decalage ))

       elif sens=="droite-gauche":

           chiffrement.append(c h r(o r d (letter)+decalage ))

       else:

           print ("L'argument décalage doit être 'droite-gauche' ou 'gauche-droite'. ")            

           return

   return ''.join(chiffrement)

texte_chiffre=chiffrer("Bonjour, ça va ?",3,'gauche-droite')

texte_dechiffre=dechiffrer(texte_chiffre,3,'gauche-droite')    

print (texte_chiffre)    

print (texte_dechiffre)

Explications :

Tout d'abord, sache que la fonction déchiffrer fait juste l'inverse de chiffrer, ça m'évite quelques explications.

La fonction chiffrer prend en arguments texte, c'est le texte à chiffrer, ensuite decalage, c'est nombre qui définit de combien on décale une lettre dans l'alphabet, enfin sens, c'est le sens du décalage, si on choisit gauche-droite, le décalage s'effectue de gauche à droite, et droite-gauche, le décalage s'effectue de droite à gauche.

Dans la fonction chiffrer, on déclare la variable chiffrement, c'est une liste qui contiendra le texte chiffré lettre par lettre, on utilise ensuite une boucle for pour chaque lettre du texte, si la lettre est un espace, on ajoute un espace dans chiffrement et on recommence le tour de boucle, sinon on vérifie le sens, si le sens est de gauche à droite 'droite-gauche',  on se sert de l'unicode du caractère de la lettre qu'on incrémente en additionnant l'unicode à l'argument decalage,

si le sens est de droite à gauche 'gauche-droite',  on se sert de l'unicode du caractère de la lettre qu'on incrémente en soustrayant l'unicode à l'argument decalage,

Enfin on retourne la variable chiffrement comprenant le texte chiffré, en chaîne de caractères.