Tell us what’s happening:
Comme vous l’avez déjà vérifié, le décalage utilisé pour chiffrer le texte doit être positif. Il ne peut cependant pas dépasser 25(le dernier indice de alphabet).
Ajoutez une seconde condition à l’ ifinstruction qui vérifie que shiftest supérieur à 25. N’oubliez pas que l’opération logique OU en Python est implémentée via l’ oropérateur OU.
Veuillez également mettre à jour le message renvoyé en Shift must be an integer between 1 and 25.
Your code so far
def caesar(text, shift):
if not isinstance(shift, int):
return 'Shift must be an integer value.'
# User Editable Region
if shift < 1:
return 'Shift must be a positive integer.'
if shift > 25 :
print('Shift must be an integer between 1 and 25.')
# User Editable Region
alphabet = 'abcdefghijklmnopqrstuvwxyz'
shifted_alphabet = alphabet[shift:] + alphabet[:shift]
translation_table = str.maketrans(alphabet + alphabet.upper(), shifted_alphabet + shifted_alphabet.upper())
return text.translate(translation_table)
encrypted_text = caesar('freeCodeCamp', 3)
print(encrypted_text)
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36
Challenge Information:
Build a Caesar Cipher - Step 20