Learn String Manipulation by Building a Cipher - Step 85

Tell us what’s happening:

Describe your issue in detail here.

Your code so far

text = 'Hello Zaira!'
custom_key = 'python'

def vigenere(message, key, direction=1):
    key_index = 0
    alphabet = 'abcdefghijklmnopqrstuvwxyz'
    final_message = ''

    for char in message.lower():

        # Append any non-letter character to the message
        if not char.isalpha():
            final_message += char
        else:        
            # Find the right key character to encode/decode
            key_char = key[key_index % len(key)]
            key_index += 1

            # Define the offset and the encrypted/decrypted letter
            offset = alphabet.index(key_char)
            index = alphabet.find(char)
            new_index = (index + offset*direction) % len(alphabet)
            final_message += alphabet[new_index]
    
    return final_message

# User Editable Region

def encrypt(text, custom_key):
    return encrypt(message, key)
    
def decrypt(message, key):
    return decrypt(message, key, -1)
    
encryption = encrypt(text, custom_key)
print(encryption)


decryption = decrypt(encryption, custom_key)
print(decryption)


# User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15

Challenge Information:

Learn String Manipulation by Building a Cipher - Step 85

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.
Learning to describe problems is hard, but it is an important part of learning how to code.
Also, the more you say, the more we can help!

Hi, welcome to the forum!
We see you have posted some code but did you have a question?

(You have not filled out the “Tell us what’s happening:” field above)

Welcome to the forum @Sanika11

  1. For the encrypt function you changed the parameters.
  1. In the same function you changed the function call from vigenere.
    The instructions did not ask you to change this.
  1. In the decrypt function you changed the function call from vigenere.

Happy coding

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