Learn String Manipulation by Building a Cipher - Step 86

Tell us what’s happening:

Good evening, i am russian beginner Python developer and learn it there. But i dont know where is my mistake, chat gpt didnt help.

Your code so far

text = 'Hello Zaira!'
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]
    

# User Editable Region

    return final_message
def encryption(message, key):
    return encrypt(message, key)
    
def decryption(message, key):
    return decrypt(message, key, -1)
    
encryption = vigenere(text, custom_key)
print(encryption)
decryption = vigenere(encryption, custom_key, -1)
print(decryption)

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

Challenge Information:

Learn String Manipulation by Building a Cipher - Step 86

you are not asked to change the function names that you just created, those are fines as is

you need to replace where vigenere is called and call the two new functions instead

Honestly, I don’t quite understand

Reset the step as you have changed the existing code when you’re not supposed to.

You are only working on the values inside your variables of encryption and decryption. Instead of calling the vigenere function at present you are asked to call the encrypt and decrypt functions. Use the same syntax and parameters but notice that decrypt only has 2 parameters, so you need to adjust the arguments on decrypt slightly when calling it so it only has 2 arguments.