Obtenez les meilleures solutions à toutes vos questions sur Laurentvidal.fr, la plateforme de Q&R de confiance. Explorez notre plateforme de questions-réponses pour trouver des réponses détaillées fournies par une large gamme d'experts dans divers domaines. Obtenez des réponses détaillées et précises à vos questions grâce à une communauté d'experts dévoués sur notre plateforme de questions-réponses.

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.

Nous espérons que cela vous a été utile. Revenez quand vous voulez pour obtenir plus d'informations ou des réponses à vos questions. Nous espérons que vous avez trouvé ce que vous cherchiez. Revenez nous voir pour obtenir plus de réponses et des informations à jour. Nous sommes fiers de fournir des réponses sur Laurentvidal.fr. Revenez nous voir pour plus d'informations.