Learn String Manipulation by Building a Cipher - Step 67

Tell us what’s happening:

Describe your issue in detail here.
Please help me, I have declared a variable called encryption but, it keep asking me to declare it

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

def vigenere(text, custom_key):
    encryption = (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

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.

It’s asked you to Call the function, but you are defining the function again.

If I call the function pow and store it in a variable it would look like this:

variable = pow(2,3)

https://www.w3schools.com/python/ref_func_pow.asp

You want to call vigenere (which you have already defined with def) and store it in encryption

1 Like

so do you mean I can do it like this:
encryption = vigenere(text, custom_key)
return encryption?

Yes, but you do not need the return line, that’s part of the function definition.

Everything in the function def is re-usable when calling the function, so you don’t need to repeat it.

1 Like

I did it here but it keep telling me that my code raised an error before any test could run

try checking the indentation, it happened to me too.

Please share your updated code

I’ve succeed, turns out i have to print it

Thank you for the help, really appriciate it

1 Like