Obtenez les meilleures solutions à vos questions sur Laurentvidal.fr, la plateforme de Q&R de confiance. Explorez des milliers de questions et réponses fournies par une communauté d'experts prêts à vous aider à trouver des solutions. Obtenez des réponses immédiates et fiables à vos questions grâce à une communauté d'experts expérimentés sur notre plateforme.
Sagot :
Bonjour
1) Compléter la fonction
Pour faire cet exercice il faut avoir bien compris tout ce qui a été spécifié ci-dessus.
Ci-joint tu trouveras la fonction complété et je vais ici simplement expliquer chaque ligne.
▌L = [s for s in montexte.lower()]
Ici on créé une liste appelée L qui contiendra toutes les lettres du texte rentré en argument de la fonction (montexte).
L'enseignant-e a choisi de mettre "s for s in" mais on aurait pu mettre "lettre for lettre in" ou "truc for truc in", c'est juste un nom qui fait comprendre à Python qu'on vaut passer sur chaque élément de la phrase (= chaque lettre)
.lower() permet de convertir le texte en minuscules (au cas où).
▌chiffrage = ""
C'est simplement la variable qui servira à stocker le résultat final, le message chiffré.
▌for s in L:
On passe sur chaque "s" (donc chaque lettre) de L (la liste créé plus haut)
▌ if (s != " "):
On vérifie si la lettre traité est différente d'un espace (!= veut dire différent de)
▌ chiffrage = chiffrage + str(ord(s) - N)
On ajoute à la variable chiffrage un nouvel élément qui viendra se coller à l'existant (pour l'instant rien: "").
ord(s) nous permet d'objectif le codage de la lettre et - N permet d'effectuer le "décalage" dont l'énoncé parle, qui sera la clé de déchiffrement.
▌ sinon:
▌ chiffrage = chiffrage + "00"
Comme demandé par l'énoncé, si c'est un espace (donc si la condition if, fixée plus haut, n'est pas respectée), on écrit 00 dans le chiffrage.
▌return chiffrage
On renvoie le message une fois chiffré
2) Chiffrer "avec cesar" clé 30
Si tu as refais le code chez toi tu vois que cela donnera:
▌678871006971856784
3) Écrire une fonction dechiffrer(chiffrage, N)
/!\ Limité par le nombre de caractère maximum des réponses, je ne peux pas t'expliquer le code ligne par ligne.
Je te l'ai tout de même mis en pièce-jointe mais si tu as besoin des explications : créé un nouveau devoir qui porte uniquement sur cette question et j'y réponds immédiatement.
Je peux tout de même te partager ma réflexion.
Réflexion
On sait que la fonction va recevoir 2 infos:
- une string contenant des chiffres
- une clef de déchiffrement.
Sauf que tous les numéros sont collés les uns aux autres, pas par duo ou trio facilement déchiffrables.
Il va donc falloir demander à la fonction de traiter les 2 premiers chiffres, ou les 3 premiers chiffres (Consigne: ca peut aller jusqu'à 122) puis de passer aux 2 ou 3 suivants, etc.
4) Déchiffrer le message, clef 28
Une fois que la fonction a été faite tu peux voir que ca donne:
▌je te salue
Si tu as mal compris quelque chose, les commentaires sont là :)
Bonne soirée !
Merci de votre passage. Nous nous engageons à fournir les meilleures réponses à toutes vos questions. À bientôt. Merci de votre visite. Notre objectif est de fournir les réponses les plus précises pour tous vos besoins en information. À bientôt. Revenez sur Laurentvidal.fr pour obtenir plus de connaissances et de réponses de nos experts.