Learn String Manipulation by Building a Cipher - Step 75

Tell us what’s happening:

Describe your issue in detail here.
I am using the isalpha() function on char but it’s still throwing an error .

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 not 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 (Macintosh; Intel Mac OS X 10_15_7) 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

Modify the if condition by calling .isalpha() on char.

What you’ve done is good, you’ve anticipated what’s needed, but the lesson is taking you step by step. Just need follow exactly what is asked here, don’t need to add not

2 Likes

did that too but it’s still throwing error
OMG there was an indentation error, I feel so stupid rn

2 Likes

Programming humbles us all, welcome to the party. :saluting_face:

1 Like