Learn String Manipulation by Building a Cipher - Step 75

Tell us what’s happening:

I cant gather anything after this could someone please help.

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():

# User Editable Region

        # Append space to the message
        if char.isalpha() == " " :
            final_message += char

# User Editable Region

        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
    
encryption = vigenere(text, custom_key)
print(encryption)
decryption = vigenere(encryption, custom_key, -1)
print(decryption)

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 OPR/106.0.0.0

Challenge Information:

Learn String Manipulation by Building a Cipher - Step 75

if you read the instructions it says that the isalpha method returns true if all the characters are letters, you called it right but you are checking if it is equal to empty string

char.isalpha( ) == " "  # this is like saying true == " " which is false by default

You have to remove the equality check with the empty string and the == sign too

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