Tell us what’s happening:
The terminal says
Traceback (most recent call last):
File “main.py”, line 31, in
File “main.py”, line 21, in pin_extractor
AttributeError: ‘list’ object has no attribute ‘split’
and the objective says
The function should return secret_codes at the end.
Also I’m confused how a specific poem can be called poem and the loop variable in the function can also be called poem. It didn’t like it when I tried to rename the first poem poem1.
Your code so far
# 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
here and there
hoping for rain
before it turns yellow"""
poem3 = """There
once
was
a
dragon"""
def pin_extractor(poem):
secret_codes = []
for poem in [poem, 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]))
# 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/142.0.0.0 Safari/537.36
Challenge Information:
Build a Pin Extractor - Step 19