Learn String Manipulation by Building a Cipher - Step 86

Tell us what’s happening:

In scientific computing with python(beta)'s first project learn string manipulation by building a cipher’s step 86 is asking to modify the encryption and decryption’s value that i’ve already did but still it’s giving me error.

encryption = encrypt(text, custom_key)
print(encryption)
decryption = decrypt(encryption, custom_key, -1)
print(decryption)

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(message, key):
    return vigenere(message, key)
    
def decrypt(message, key):
    return vigenere(message, key, -1)
    
encryption = encrypt(text, custom_key)
print(encryption)
decryption = decrypt(encryption, custom_key, -1)
print(decryption)

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

Challenge Information:

Learn String Manipulation by Building a Cipher - Step 86

Welcome to the forum @Sneha29

image

Carefully read the message in the console.

Happy coding

1 Like

Hello there!

If you check the preview, you’ll see a type error. I think the problem with your code is that it’s trying to pass an extra argument to your decrypt function.

If you delete the last argument here, your code will pass,

Cause now, you have the same number of arguments.