Learn String Manipulation by Building a Cipher - Step 67

Tell us what’s happening:

Describe your issue in detail here.
where’s the problem

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]
    

# User Editable Region

    def text(text, custom_key):
    encrypted_text = encrypt_function(text, custom_key)  
    return encryption


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

Challenge Information:

Learn String Manipulation by Building a Cipher - Step 67

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.

Definitely here :slight_smile:

Don’t remove any line of code if not required. Reset the code for this step and try again.

You don’t need to declare another function, you need to call vigenere and pass text and custom_key as the arguments.

Store the return value of the function call in a variable called encryption

means you need to assign the function call to this variable. return cannot be used outside a function.

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.