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 trialAdam Tyler
14,865 PointsAm I using __iter__ properly? I can't get this challenge to pass
I am unsure what I am doing wrong her, I put it into work spaces and it tells me I have inconsistent use of tabs and spaces in indentations
class Letter:
def __init__(self, pattern=None):
self.pattern = pattern
def __str__(self):
morseStr = ''
for i in self.pattern:
if i == '.':
morseStr += '-dot'
elif i == '_':
morseStr += '-dash'
morseStr = morseStr[1:]
return morseStr
def __iter__(self):
yield from self.pattern
class S(Letter):
def __init__(self):
pattern = ['.', '.', '.']
super().__init__(pattern)
1 Answer
Steven Parker
231,269 PointsI know that Python will work with either spaces or tabs, but it won't allow you to mix them in the same file. But I don't see that here.
On the other hand, it looks like the "__str__
" method has been changed from what was provided in the initial challenge code. For this challenge, you only need to add the "__iter__
" method. Don't change any of the provided code!
Your "__iter__
" method looks correct and should pass the challenge with no other changes made.
Adam Tyler
14,865 PointsAdam Tyler
14,865 PointsThank you, I have since passed this challenge but the reason I was having an issue was because some of the lines in the code provided had too many spaces (the indentation was 5 spaces and this was leaving several red lines all over the code) so I edited that, but in the end I passed because I restarted and didn't edit anything. Odd, but thank anyway!
Steven Parker
231,269 PointsSteven Parker
231,269 PointsI didn't notice a space difference, but the content of the "
__str__
" method above is very different from the one the challenge provides. This one builds a string with concatenation, the challenge code builds a list and then joins it. Both are valid solutions, however.