Learn String Manipulation by Building a Cipher - Step 39

Tell us what’s happening:

Won’t pass
Describe your issue in detail here.

Your code so far

text = ‘Hello World’
shift = 3
alphabet = ‘abcdefghijklmnopqrstuvwxyz’
encrypted_text = ‘’

for char in text.lower():
if char == ’ ':
encrypted_text += ’ ’
index = alphabet.find(char)
new_index = index + shift
encrypted_text += alphabet[new_index]
print(‘char:’, char, ‘encrypted text:’, encrypted_text)


/* User Editable Region */

text = 'Hello World'
shift = 3
alphabet = 'abcdefghijklmnopqrstuvwxyz'
encrypted_text = ''

for char in text.lower():
    if char == ' ':
        encrypted_text+=' '
    index = alphabet.find(char)
    new_index = index + shift
    encrypted_text += alphabet[new_index]
    print('char:', char, 'encrypted text:', encrypted_text)

/* User Editable Region */

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 Edg/120.0.0.0

Challenge Information:

Learn String Manipulation by Building a Cipher - Step 39

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 Rostam,

Here you are adding the literal space character ' ' to encrypted_text.
But in your if statement above it we just checked if char is the space character.
So instead of ' ' can you maybe add something else to encrypted_text that represents the space char?

I did like below:

text = 'Hello World'
shift = 3
alphabet = 'abcdefghijklmnopqrstuvwxyz'
encrypted_text = ''

for char in text.lower():
    if char == ' ':
        encrypted_text+='%'
    index = alphabet.find(char)
    new_index = index + shift
    encrypted_text += alphabet[new_index]
    print('char:', char, 'encrypted text:', encrypted_text)

In the code above if if char == ' ': is True, what is char ?

I’ve edited your code for readability. When you enter a code block into a forum post, please precede it with a separate line of three backticks (shares a button with tilde ~) and follow it with a separate line of three backticks to make it easier to read.

You can also use the “preformatted text” tool in the editor (</>) to add backticks around text.

See this post to find the backtick on your keyboard.
Note: Backticks (`) are not single quotes (').

char is coming from text.

for char in text.lower():
if char == ’ ':
encrypted_text += char

Yes it is, and in every iteration it is one of the chracters from the text string. But in the iteration that it passes char == ' ' which character would char need to be to make that statement true?

it should be space. ’ ’

I don’t understand what should be the result?

Exactly, so if it’s true char is the space character.
So instead of adding ' ' can’t you add char to encrypted text?

I did, still has same issue:

text = ‘Hello World’
shift = 3
alphabet = ‘abcdefghijklmnopqrstuvwxyz’
encrypted_text = ‘’

for char in text.lower():
if char == ’ ':
encrypted_text += char
index = alphabet.find(char)
new_index = index + shift
encrypted_text += alphabet[new_index]
print(‘char:’, char, ‘encrypted text:’, encrypted_text)

now I am getting nothing after click on check my code!!!

Can you please post this code but with the code format around it.

The code you wrote here is correct, but I’m not sure if you used the right indentation and quote character.

text = ‘Hello World’
shift = 3
alphabet = ‘abcdefghijklmnopqrstuvwxyz’
encrypted_text = ‘’

for char in text.lower():
if char == ’ ':
encrypted_text += char
index = alphabet.find(char)
new_index = index + shift
encrypted_text += alphabet[new_index]
print(‘char:’, char, ‘encrypted text:’, encrypted_text)

text = 'Hello World'
shift = 3
alphabet = 'abcdefghijklmnopqrstuvwxyz'
encrypted_text = ''

for char in text.lower():
    if char == ' ':
        encrypted_text += char 
    index = alphabet.find(char)
    new_index = index + shift
    encrypted_text += alphabet[new_index]
    print('char:', char, 'encrypted text:', encrypted_text)

There you go, we got there, good job! :blush:

1 Like