Build a Pin Extractor - Step 17

Tell us what’s happening:

I keep getting the message “You should move the existing body of the function into the new for loop”, but it seems like the whole body of the function is inside the new loop. What am I missing?

Your code so far


# User Editable Region

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


# User Editable Region

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'

# print(pin_extractor(poem))

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36

Challenge Information:

Build a Pin Extractor - Step 17

GitHub Link: https://github.com/freeCodeCamp/freeCodeCamp/blob/main/curriculum/challenges/english/blocks/workshop-pin-extractor/68599f0fc7479410b2269742.md

Hi @ksa99,

It looks like you may have changed the starting code in areas you were not asked to change, which will cause the tests to fail.

Please click the reset button to restore the original code and try again.

image


In the original starting code, the above code was on two lines.

Happy coding

Hi @ksa99

In the second for loop you changed line to poem.

Happy coding

Good catch, @Teller! That was it.