Learn String Manipulation by Building a Cipher - Step 75

Tell us what’s happening:

i did what the instructions told me to do, add .isalpha() to char, but i keep getting errors. what am i doing wrong?
(i know there was a similar previous post saying an indentation error is what occurred, but i cannot figure out if/where that’s occurring)

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

Challenge Information:

Learn String Manipulation by Building a Cipher - Step 75

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.

Hello Yuh,

islapha() returns True or False depending on if char is a letter or not. So essentially you are now comparing that True or False against an empty space.

All you need to know is if char is a letter, if it is, you add it to the final_message variable.

2 Likes

Thank you, I have been experiencing the same difficulty!!

1 Like

thank you so much, i got it now!

1 Like

Hasn’t worked for me

We can’t see your code so it would be hard to help you.
I would advise making your own topic and showing us what you’ve been trying.