Build a Pin Extractor - Step 17

Tell us what’s happening:

Code is nor executing even after making all the required corrections.

Getting this message - You should move the existing body of the function into the new for loop.

Your code so far


# User Editable Region

def pin_extractor(poems):
    secret_code = ""
    
    for poem in poems: 
        lines = poem.split('\n') 
        for line_index, line in enumerate(lines): 
            words = line.split()
            if len(words) > line_index: 
                secret_code += str(len(words[line_index]))
            else:
                secret_code += '0'
                
    return secret_code


poem = """Stars and the moon
shine in the sky
white and
until the end of the night"""
poem2 = 'The grass is green\nhere and there\nhoping for rain\nbefore it turns yellow'
poem3 = 'There\nonce\nwas\na\ndragon'
poems = [poem, poem2, poem3]

# (pin_extractor(poems))

# 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/141.0.0.0 Safari/537.36

Challenge Information:

Build a Pin Extractor - Step 17

Why have you separated this line?

secret_code = ""

You also have an indentation error on the return statement.

Not getting indentation error on the return statement

Just this message - You should move the existing body of the function into the new for loop.

I ran your code and corrected the issues I mentioned above with it and it passed.

If you want to ignore issues raised and not answer questions put to you, like why did you separate a particular line, then we can’t really help.

Please address the issues I have suggested. If you don’t understand what has been asked then say.

It may also help if you reset the step and follow the instructions carefully and what you are asked to do and be careful with indentation.

Thank you! That was really helpful. Fixing the indentation made all the difference. I appreciate you taking the time to run the code and point out those exact errors.

1 Like