Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialKade Carlson
5,928 PointsI have a syntax error?
Not sure what my syntax error is
# Example:
# values = [{"name": "Michelangelo", "food": "PIZZA"}, {"name": "Garfield", "food": "lasagna"}]
# string_factory(values)
# ["Hi, I'm Michelangelo and I love to eat PIZZA!", "Hi, I'm Garfield and I love to eat lasagna!"]
template = "Hi, I'm {name} and I love to eat {food}!"
dicts = [{"name2" : "Kade"}, {"food2" : "macaroni"}]
def string_factory(dicts):
return new_list = [**{"name" : "Kade"}, {"food" : "macaroni"}]
2 Answers
james south
Front End Web Development Techdegree Graduate 33,271 Pointsi'm not sure what the specific syntax error is here but i would note that your function uses neither the template nor the parameter and you need to use both to get the correct output.
brendinnye
12,696 PointsThe specific syntax error you are getting is from the assignment statement in your return line. What comes after return needs to be an expression (something the Python interpreter can evaluate to some value). For example:
def string_factory(dicts):
new_list = [**{"name" : "Kade"}, {"food" : "macaroni"}]
return new_list
If you put the new_list assignment statement on its own line and just return new_list, your syntax error should be fixed (though I don't think this will work still).
Hope that helps :)