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 trialOdane Williams
6,692 PointsI am getting the try again error
I'm honestly stumped on this one. Is it my syntax?
class Letter:
def __init__(self, pattern=None):
self.pattern = pattern
def __str__(self, pattern=None):
self.pattern = pattern
morse = []
for item in pattern:
if item == ".":
morse.append("dot")
elif item == "-":
morse.append("dash")
"-".join(morse)
class S(Letter):
def __init__(self):
pattern = ['.', '.', '.']
super().__init__(pattern)
1 Answer
Steven Parker
231,269 PointsHere's a few hints:
- the function should not require an argument, it should use the internal pattern
- it should return "dash" for every "_" (underscore), but it currently looks for "-" (hyphen) instead
- the final string still needs to be _return_ed
Odane Williams
6,692 PointsOdane Williams
6,692 PointsI revised it with a different way to loop through pattern and adjusted the code according top your hints. I'm still getting the same error. Syntax is what always gets me.
class Letter: def init(self, pattern=None): self.pattern = pattern
class S(Letter): def init(self): pattern = ['.', '.', '.'] super().init(pattern)
Steven Parker
231,269 PointsSteven Parker
231,269 PointsConverting the pattern into a range makes the "item"s numbers now that do not match in the tests.
Also, converting the "elif" into an "else" is creating a syntax error.
Both of those were OK in the original code.