Build a Pin Extractor - Step 17

Tell us what’s happening:

I don’t seem to be able to crack this step. Please, could you help me?

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 line_index < len(words):
            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/145.0.0.0 Safari/537.36

Challenge Information:

Build a Pin Extractor - Step 17

Did you put all of the code in the body of the function inside the for loop?

1 Like

I did put the function inside the for loop. I am not sure what is wrong :frowning:

is this inside the loop?

what about this?

Would this be ok?



def pin_extractor(poems):

    for poem in poems:

        secret_code = ''

        lines = poem.split('\n')

        for line_index, line in enumerate(lines):

            words = line.split()

            if line_index < len(words):

                secret_code += str(len(words[line_index]))

            else:

                 secret_code += '0'

     return secret_code

isn’t this outside the loop?

Still not working (I set the return secret_code in the loop, but it doesn’t work).



def pin_extractor(poems):

    for poem in poems:

        secret_code = ''

        lines = poem.split('\n')

        for line_index, line in enumerate(lines):

            words = line.split()

            if line_index < len(words):

                secret_code += str(len(words[line_index]))

            else:

                 secret_code += '0'

             return secret_code

now it’s inside the other loop, instead of being only inside the new loop

I tried with the first loop, but it is not working either.

what is your updated code please?