# Learn String Manipulation by Building a Cipher - Step 83

### Tell us what’s happening:

Describe your issue in detail here.

``````text = 'mrttaqrhknsw ih puggrur'
custom_key = 'python'

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

for char in message.lower():

# Append any non-letter character to the message
if not char.isalpha():
final_message += char
else:
# Find the right key character to encode/decode
key_char = key[key_index % len(key)]
key_index += 1

# Define the offset and the encrypted/decrypted letter
offset = alphabet.index(key_char)
index = alphabet.find(char)
new_index = (index + offset*direction) % len(alphabet)
final_message += alphabet[new_index]

return final_message

def encrypt(message, key):
return vigenere(message, key)

def decrypt(message, key):
return vigenere(message, key, -1)

# User Editable Region

encryption = encrypt(text, custom_key)
print('Encrypted text:')
decryption = decrypt(encryption, custom_key)

# 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 83

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.

Hey, what kind of help do you need?

Hello Sir, I tried running the code as per the Instructions given to me, but I’m unable to get the output despite trying multiple times could you please help me with it?

Step 83 says:

Delete the `pass` keyword, and return `vigenere(message, key)` from your new function.

You posted a code that contains other lines from the following steps. The project has been updated few hours ago so I don’t know exactly what step you are referring to.

okay Sir let me try it once and I’ll get back to you

text = ‘mrttaqrhknsw ih puggrur’
custom_key = ‘python’

def vigenere(message, key, direction=1):
key_index = 0
alphabet = ‘abcdefghijklmnopqrstuvwxyz’
final_message = ‘’

``````for char in message.lower():

# Append any non-letter character to the message
if not char.isalpha():
final_message += char
else:
# Find the right key character to encode/decode
key_char = key[key_index % len(key)]
key_index += 1

# Define the offset and the encrypted/decrypted letter
offset = alphabet.index(key_char)
index = alphabet.find(char)
new_index = (index + offset*direction) % len(alphabet)
final_message += alphabet[new_index]

return final_message
``````

def encrypt(message, key):
return vigenere(message, key)

def decrypt(message, key):
return vigenere(message, key, -1)
encryption = encrypt(text, custom_key)
print(“Encrypted text:”, " " +text)
decryption = decrypt(encryption, custom_key)
print(decryption)

Step: 83
Two or more strings can be concatenated by using the `+` operator. For example: `'Hello' + ' there!'` results in `'Hello there!`.

Modify `print(encryption)` to print `Encrypted text: mrttaqrhknsw ih puggrur`. Use the `+` operator to concatenate `text` to your string and pay attention to the spacing.

Sir, after multiple attempts of trying, I’m not getting it, could you please help me with it

Hey @somadharanidhar, could you share what you’ve tried so far?

You need to do it concatenating a string and the `text` variable. For example:
`print('string' + text)`

tried it but it did not work I even tried str(“Value”) + text still it did not work