text = ‘mrttaqrhknsw ih puggrur’
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
def encrypt(message, key):
return vigenere(message, key)def decrypt(message, key):
return vigenere(message, key, -1)
print(f’\nEncrypted text: {text}‘)
print(f’Key: {custom_key}’)
decryption = decrypt(text, custom_key)
print(f’Decrypted text: {decryption}')
I receive the following error even if it seems to me that the use of \n is correct:
Sorry, your code does not pass. You're getting there.
You should modify the `print(f'Encrypted text: {text}')` call adding a newline character at the beginning of the string.
Any suggestions? Thanks