Learn String Manipulation by Building a Cipher - Step 78

Tell us what’s happening:

cannot really understand whats goin wrong in the code

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():

# User Editable Region

        # Append space to the message
            final_message += char

# User Editable Region

            # 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
encryption = vigenere(text, custom_key)
decryption = vigenere(encryption, custom_key, -1)

Your browser information:

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

Challenge Information:

Learn String Manipulation by Building a Cipher - Step 78

I saw that you opened a post for step 84. Did you solve this?

Hi @Annmademilkshake

Here is a comparison of the original code and your code.

The code in blue is the original code, the code in red is your code.
The code in magenta is the overlap.

Notice the difference between the original,

if char == ' ':

and the updated code:


Happy coding