Learn String Manipulation by Building a Cipher - Step 49

Tell us what’s happening:

I’m struggling to correctly define my def function

Your code so far


# User Editable Region

text = 'Hello Zaira'
shift = 3
    def caesar():
        <alphabet = 'abcdefghijklmnopqrstuvwxyz'
        encrypted_text = ''
        for char in text.lower():
            if char == ' ':
                encrypted_text += char
            else:
                index = alphabet.find(char)
                encrypted_text += alphabet[new_index]
        print('plain text:', text)
        print('encrypted text:', encrypted_text)>

# 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/128.0.0.0 Safari/537.36

Challenge Information:

Learn String Manipulation by Building a Cipher - Step 49

Hi there and welcome to our community!

There are just a couple of issues with your code:

  1. You have stray characters (< and >) before your alphabet variable and after your second print command.
  2. Your function and its body is indented too far. Whilst the function body is indented correctly relative to its def statement, the whole lot needs to be unindented by four spaces, so that the def statement aligns with the shift variable above it.

(The error messages are perhaps a little misleading, as they tell you to ‘indent all the lines after shift = 3 so that they become your new function body’, when they mean the function body, not including the def statement which you’re adding).

1 Like