Learn String Manipulation by Building a Cipher - Step 69

Tell us what’s happening:

Encryption and decryption are opposite processes and your function can do both with a couple of tweaks.

Add a third parameter called direction to your function definition. Also, comment out the last two lines of code to avoid errors in the console.

What’s wrong here?

Your code so far


# User Editable Region

text = 'Hello Zaira'
custom_key = 'python'

def vigenere(message, key, direction):
    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

#encryption = vigenere(text, custom_key, direction)
#print(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/123.0.0.0 Safari/537.36

Challenge Information:

Learn String Manipulation by Building a Cipher - Step 69

Hello @gisele_rotta
I can not identify anything wrong with it. However, it is possible that the validation test expects the comment #encryption = vigenere(text, custom_key, direction) to be without the direction parameter, since it would had not existed, previously.

yeah, it probably was that
thank you!

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