Learn String Manipulation by Building a Cipher - Step 70

Tell us what’s happening:

I have updated the new_index variable, based on the challenge info provided, to be multiple different things, and all of them result in failure. The other forums I’ve seen indicated it should be the third option, but it still fails for me. I’ve tried resetting the challenge and refreshing the browser (not cleared cache and history).

  1. new_index = (offset * direction) % len(alphabet)
  2. new_index = (offset * direction)
  3. new_index = offset * direction

Your code so far

text = 'Hello Zaira'
custom_key = 'python'

def vigenere(message, key, direction):
    key_index = 0
    alphabet = 'abcdefghijklmnopqrstuvwxyz'
    encrypted_text = ''

    for char in message.lower():
    
        # Append space to the message
        if char == ' ':
            encrypted_text += char
        else:        
            # Find the right key character to encode
            key_char = key[key_index % len(key)]
            key_index += 1

            # Define the offset and the encrypted letter
            offset = alphabet.index(key_char)
            index = alphabet.find(char)

# User Editable Region

            new_index = (offset * direction) % len(alphabet)

# User Editable Region

            encrypted_text += alphabet[new_index]
    
    return encrypted_text
    
#encryption = vigenere(text, custom_key)
#print(encryption)

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 70

Welcome to the forum @downtown

Here is the original code:

new_index = (index + offset) % len(alphabet)

Where is index?

Happy coding

Answering a question with a question isn’t helpful. The challenge doesn’t say anything about ‘index’, it only says to multiple offset by direction; nonetheless, the index variable is defined directly above, ‘index = alphabet.find(char)’

Here is the original code:

new_index = (index + offset) % len(alphabet)

Here is the code you posted.

You may have removed the index variable from the expression.
Only modify the code you are asked. The tests make specific tests in the code. Altering any part of the code you are not asked will fail the tests.

Read the instruction carefully.
Examine any error messages.
If the code throws an error, try resetting the step.
You can also debug by looking at the console and the preview.

Remove the solution from your earlier post as it is apparently against forum rules.

1 Like

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