Build a Pin Extractor - Step 19

Tell us what’s happening:

hello
it show on console [‘5202’, ‘3346’, ‘50000’]
but show i need to print the pin extractor
print(pin_extractor(poem, poem2, poem3))

Your code so far


# User Editable Region

def pin_extractor(poems, poem2, poem3):
    secret_codes = []
    for poem in poems, poem2, poem3:
        secret_code = ''
        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'
        secret_codes.append(secret_code)
    return secret_codes
    print(pin_extractor(poem, poem2, poem3))
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, poem2, poem3))


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

Challenge Information:

Build a Pin Extractor - Step 19

This print statement is inside the function. You already have another print statement that is outside of the function, as it should be, but your function call should be passing in a list of poems.

return secret_codes

    

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, poem2, poem3\]))

i removed the additional print

Do you still need help?

def pin_extractor(poems, poem2, poem3):

secret_codes = \[\]

for poem in poems, poem2, poem3:

    secret_code = ''

    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'

    secret_codes.append(secret_code)

return secret_codes

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, poem2, poem3))

print(pin_extractor([poem, poem2, poem3]))

when i use this its gave me i should ( missing 2 required positional arguments: ‘poem2’ and ‘poem3’

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

Please do only what is asked in the instructions without changing any other code.

i made reset for test but show in console that :

File “main.py”, line 14, in
NameError: name ‘poem’ is not defined

Please post your code again, as follows:

When you enter a code block into a forum post, please precede it with three backticks to make it easier to read.

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

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

```

def pin_extractor(poems):
    secret_codes = []
    for poem in poems:
        secret_code = ''
        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'
        secret_codes.append(secret_code)
    return secret_codes
print(pin_extractor([poem, poem2, poem3]))

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'

```

Traceback (most recent call last):
  File "main.py", line 14, in <module>
NameError: name 'poem' is not defined

What is this console error telling you?

File “main.py”, line 14, in
NameError: name ‘poem’ is not defined

I can see what the error is. I’m asking you to find that line in your code and try to figure out why it is saying poem is not defined.

im sorry i cant find

Code is processed from top to bottom. Where is poem declared and initialized? Where is your function call with poem being passed as part of a list?

1 Like

done thank you i put it at last