# Learn String Manipulation by Building a Cipher - Step 66

### Tell us what’s happening:

Describe your issue in detail here.
I have tried variations of multiplying offset by direction, such as replacing index and offset entirely, adding another set of parenthesis to have offset * direction separately.

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

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

for char in message.lower():

# Append space to the message
if char == ' ':
encrypted_text += char
else:
# Find the right key character to encode
key_char = key[key_index % len(key)]
key_index += 1

# Define the offset and the encrypted letter
offset = alphabet.index(key_char)
index = alphabet.find(char)

# User Editable Region

new_index = (index + (offset * Direction)) % len(alphabet)
#other variations I have tried and still havent had success
new_index = (offset * Direction) % len(alphabet)
new_index = (index + (offset * Direction)) % len(alphabet)
new_index =  offset * Direction
new_index = (index + offset ) * direction % len(alphabet)
new_index = (index + offset ) % len(alphabet) * direction

# User Editable Region

encrypted_text += alphabet[new_index]

return encrypted_text

#encryption = vigenere(text, custom_key)
#print(encryption)
``````

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

### Challenge Information:

Learn String Manipulation by Building a Cipher - Step 66

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.

It appears I didnt do all of the variations…ive just solved it…im in idiot

1 Like

No you are not!! Glad that you solved it though!