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 trial

Python

Harris Handoko
Harris Handoko
3,932 Points

Need help with this challenge: morse.py on putting classmethod

If someone would kindly point out where I'm wrong, that would be appreciated. Thanks!

morse.py
class Letter:
    def __init__(self, pattern=None):
        self.pattern = pattern

    def __iter__(self):
        yield from self.pattern

    def __str__(self):
        output = []
        for blip in self:
            if blip == '.':
                output.append('dot')
            else:
                output.append('dash')
        return '-'.join(output)

    @classmethod
    def from_string(cls, string):
        pattern = []
        for i in string.split('-'):
            if i == 'dot':
                pattern.append('.')
            else:
                pattern.append('_')
        return cls(pattern)


class S(Letter):
    def __init__(self):
         pattern = ['.', '.', '.']
         super().__init__(pattern)
Harris Handoko
Harris Handoko
3,932 Points

Yeah! Sorry about that. For some reason, I kept getting that tab indentation issue, when everything seems to be proper. I just copy and pasted it into a new file on workspace, and then copied and pasted the entire thing again back and it worked.

1 Answer

csr13
csr13
33,292 Points

You code works fine when I copied and pasted it, cool solution.

Hm, my guess is that this is due to extra white-spaces here and there.

  • Make sure all that of that is alright by checking for any extra white-space indentation errors between functions or classes.
  • Separate function from function by two lines etc.

Hope this helps :star:

Chris Freeman
Chris Freeman
Treehouse Moderator 68,423 Points

If code pasted from forum "fixes" it, then the issue is most likely indentation using a mix of Tabs and Spaces.