Fonction de chiffrement César en Python : chaînes cryptées
Lors de l'implémentation d'une fonction de chiffrement César en Python, un problème courant survient lorsque le texte final crypté affiche uniquement le dernier caractère décalé. Pour résoudre ce problème, il est nécessaire de comprendre le problème à l'origine de ce comportement.
Dans le code fourni, la boucle parcourt chaque caractère du texte brut. Pour les caractères alphabétiques, il décale le code ASCII du caractère en fonction de la valeur de décalage fournie. Cependant, chaque caractère décalé est ajouté à une chaîne vide nommée cipherText dans la boucle. Par conséquent, seul le dernier caractère est affiché comme texte chiffré.
Pour résoudre ce problème, le texte chiffré doit être construit dans la boucle et renvoyé une fois que tous les caractères ont été traités. Ceci peut être réalisé en modifiant le code comme suit :
def caesar(plainText, shift):
cipherText = ""
for ch in plainText:
if ch.isalpha():
stayInAlphabet = ord(ch) shift
if stayInAlphabet > ord('z'):
stayInAlphabet -= 26
finalLetter = chr(stayInAlphabet)
cipherText = finalLetter
return cipherText
Avec cette modification, la chaîne cipherText est initialisée une fois et tous les caractères décalés y sont ajoutés dans la boucle. Lorsque la fonction est renvoyée, la chaîne chiffrée contient tous les caractères décalés, comme prévu.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3