Learn String Manipulation by Building a Cipher - Step 57

Tell us what’s happening:

please explain the else part. Whats wrong with my code here?

Your code so far

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
            key_char = key
            key_index = key[key_index % len(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)

Your browser information:

User Agent is: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ Safari/537.36

Challenge Information:

Learn String Manipulation by Building a Cipher - Step 57

Hello Zeywaz,

The logic here is almost there, except it doesn’t tell you to assign this to key_index.
The line above it isn’t necessary, just declare the variable instead of key_index since you want to assign the outsome to our new variable.

1 Like