Learn String Manipulation by Building a Cipher - Step 66

Tell us what’s happening:

called vigenere function and assigned the values to encryption that is already returned during assignment. what am i missing?

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():
    
        # 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)
            new_index = (index + offset) % len(alphabet)
            encrypted_text += alphabet[new_index]
    
    return encrypted_text

# User Editable Region

    vigenere (text, custom_key)
    encryption = vigenere (text, custom_key)

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

Challenge Information:

Learn String Manipulation by Building a Cipher - Step 66

In the first call, you did not assign it to any variable, in the second call, you assigned it to an encryption variable.

These are the instructions.

Call your function passing text and custom_key as the arguments. Store the return value of the function call in a variable called encryption.

Now evaluate your calls and remove the wrong one.

Got it! Thanks again!

1 Like