Learn String Manipulation by Building a Cipher - Step 54

Tell us what’s happening:

what’s wrong with this answer even the console shows the correct outputs

Your code so far


# User Editable Region

text = 'Hello Zaira'
shift = 3

def caesar(message, offset):
    alphabet = 'abcdefghijklmnopqrstuvwxyz'
    encrypted_message = ''  


    for char in message:
        if char == ' ':
            encrypted_message += char  
        elif char.islower():
            index = alphabet.find(char)
            new_index = (index + offset) % len(alphabet)
            encrypted_message += alphabet[new_index]
        elif char.isupper():
            index = alphabet.find(char.lower())
            new_index = (index + offset) % len(alphabet)
            encrypted_message += alphabet[new_index].upper()

    print('Plain message:', message)
    print('Encrypted message:', encrypted_message)

caesar(text, shift)


# User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0

Challenge Information:

Learn String Manipulation by Building a Cipher - Step 54

You are supposed to change text and shift variables only.
encrypted_text contains text in its name but it’s a different variable, and you should not change it. The same is true for the strings "plain text" and "encrypted text", don’t change them.

cuz i did that too and still tells me i am wrong

Please share your updated code

Please share your updated code

i replece “caesar(text, shift) " with ''caesar()” i left it blank

It should be blank. If you reset the step, the function call has no arguments.

Inside your function body, rename the text and shift variables to message and offset, respectively.

Did you try this yet?

If you are still having a problem, please share your updated code.