Tell us what’s happening:
“Next, modify your encryption and decryption variables by calling encrypt and decrypt, respectively, in place of vigenere.”
this the task for this step
but my code doesn’t pass because it raised an error before the tests could run, so can i please get some guidance as to what i should be doing ?
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 = encrpyt(text, custom_key)
print(encryption)
decryption = decrypt(encryption, custom_key)
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/126.0.0.0 Safari/537.36
Challenge Information:
Learn String Manipulation by Building a Cipher - Step 86