# Learn String Manipulation by Building a Cipher - Step 57

### Seu código até o momento

``````
text = 'Hello Zaira'
custom_key = 'python'

def vigenere(message, key):
key_index = 0
alphabet = 'abcdefghijklmnopqrstuvwxyz'
encrypted_text = ''

for char in message.lower():

# User Editable Region

# Append space to the message
if char == ' ':
encrypted_text += char
else: key_char = key

# User Editable Region

index = alphabet.find(char)
new_index = (index + offset) % len(alphabet)
encrypted_text += alphabet[new_index]
print('plain text:', message)
print('encrypted text:', encrypted_text)

``````

Agente de usuário: `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36`

### Informações do desafio:

Learn String Manipulation by Building a Cipher - Step 57

Next, inside the `else` block, declare a variable called `key_char` and assign it the value of `key` at the index `key_index` mod(`%` ) the length of `key` . what is to do???

You need to add the index to the ‘key’. Use the bracket notation to do that. Add the `[]` brackets right after the word ‘key’. Inside these brackets put the formula for searching the required index according to the instructions:

``````your_new_variable = second_parameter_of_vigenere[your_new_variable % length_of_the(second_parameter_of_vigenere)]
``````

This is guidance.

P.S.
The ‘modulo’ explained:

# Append space to the message

``````    if char == ' ':
encrypted_text += char
else: key_char = key[key_char % 26(key)]
what's wrong in the code?
``````

After ` else:` move the code one row below and take care of indentation (must be the same as `encrypted_text += char`
Instead of the number 26, put the name of the length function `len`.

``````        if char == ' ':
encrypted_text += char
else:
key_char = key[key_index % len(key)]
``````

I have done everything but still can’t get the result

your code passes for me, please show all the code you have in the editor

I’ve edited your code for readability. When you enter a code block into a forum post, please precede it with a separate line of three backticks and follow it with a separate line of three backticks to make it easier to read.

You can also use the “preformatted text” tool in the editor (`</>`) to add backticks around text.

See this post to find the backtick on your keyboard.
Note: Backticks (`) are not single quotes (').

Pay attention to indentation. The `key_char = key[key_index % len(key)]` is not aligned with the `encrypted_text += char`.

1 Like

Thank you I have already done that!

The code works perfectly fine!