# Learn String Manipulation by Building a Cipher - Step 16

Hello, guys.
I had have followed the instructions in the exercise, but when I check the code the system print: You should assign the alphabet letter at the index index + shift to your new variable.

### Tell us what’s happening:

Hello, guys.
I had have followed the instructions in the exercise, but when I check the code the system print: You should assign the alphabet letter at the index index + shift to your new variable…

``````
/* User Editable Region */

text = 'Hello World'
shift = 3
alphabet = 'abcdefghijklmnopqrstuvwxyz'
index = alphabet.find(text[0].lower())
print (index)
shifted=index+shift
print(alphabet[shifted])

/* User Editable Region */

``````

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

### Challenge Information:

Learn String Manipulation by Building a Cipher - Step 16

You appear to have created this post without editing the template. Please edit your post to Tell us what’s happening in your own words.

Hello Ante,

So the code you wrote now is theoretically not wrong. It does the same thing, and prints what you would expect.

Now the problem of why it not passes is, that the variable `shifted` needs to have the `alphabet` letter at `index` plus `shift` assigned to it. So instead of doing `print(alphabet[shifted])` you need to change the variable assignment it so that if you `print(shifted)` it still works as intended.

1 Like

Thanks, for your help. But, I will try resolved it. For now, I believe that I must analyze it, because I don’t understand it.

I did this.

# TEST No.1

text = ‘Hello World’
shift = 3
alphabet = ‘abcdefghijklmnopqrstuvwxyz’
shifted = alphabet.find(text[0].lower())+shift
print (alphabet[shifted])

# TEST No.2

text = ‘Hello World’
shift = 3
alphabet = ‘abcdefghijklmnopqrstuvwxyz’
shifted = alphabet.find(text[0].lower())+shift
print (shifted)

Oh no we’re getting a bit off track. The only thing that we need to change is adding a new variable, we don’t want to remove any of the original variables.

So if we go back to the initial code:

``````text = 'Hello World'
shift = 3
alphabet = 'abcdefghijklmnopqrstuvwxyz'
index = alphabet.find(text[0].lower())
print(index)
``````

Now without removing anyting, on line 6 we’re going to declare a variable named `shifted`. What we need to assign to shifted is the `alphabet` letter at `index` plus `shift` .

You were really close with what you wrote originally `alphabet[shifted]` but since we’re doing it in the shifted assignment we can’t write `shifted` in the square brackets.
Instead you have to use `index + shift`.

Now if you done all correctly, if you `print(shifted)` it should show you `k` in the console under the 7 digit that was there already.

2 Likes

Mmmm… I am very slow. Thanks, for you help, HungryBee.

1 Like

No worries, slow or fast, as long as you keep learning you get where you want to be. Better to be slow and diligent than being fast and unmotivated. Plus the more you learn the easier it will get, as it will all start to make sense.

2 Likes