Tell us what’s happening:
Step 23 of Caesar Cipher
def encrypt(text, shift):
return ‘caesar(text, shift)’
def decrypt(text, shift):
return ‘caesar(text, shift)’
I created the encrypt and decrypt functions just like how I created the caesar function. But it keeps saying that the encrypt function must return the caesar function? Am I reading this correctly? I also did a number of modifications and the one above is my latest attempt.
Your code so far
def caesar(text, shift, encrypt=True):
if not isinstance(shift, int):
return 'Shift must be an integer value.'
if shift < 1 or shift > 25:
return 'Shift must be an integer between 1 and 25.'
alphabet = 'abcdefghijklmnopqrstuvwxyz'
if not encrypt:
shift = - shift
shifted_alphabet = alphabet[shift:] + alphabet[:shift]
translation_table = str.maketrans(alphabet + alphabet.upper(), shifted_alphabet + shifted_alphabet.upper())
encrypted_text = text.translate(translation_table)
return encrypted_text
# User Editable Region
def encrypt(text, shift):
return caesar(text, shift)
def decrypt(text, shift):
return caesar(text, shift)
# User Editable Region
encrypted_text = caesar('freeCodeCamp', 3)
print(encrypted_text)
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:146.0) Gecko/20100101 Firefox/146.0
Challenge Information:
Build a Caesar Cipher - Step 23
