Welcome to the Treehouse Community
Looking to learn something new?
Ali Abadi2,885 Points
Python - Construction Zone
Don't understand what i have to do further for this code to run properly. Please help if you can. Thanks.
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, strings): morse = strings.split('-') pattern =  for strings in pattern: if strings == 'dot': pattern.append('.') elif strings == 'dash': pattern.append('-') return cls(pattern) class S(Letter): def __init__(self): pattern = ['.', '.', '.'] super().__init__(pattern)
Steven Parker220,450 Points
You're very close! But there's two issues yet (and a suggestion):
- after splitting the "strings" into "morse", you should use it as the loop iterator instead of "pattern"
- the character that represents a dash in the pattern should be underscore ('_') instead of hyphen ('-')
- while not a technical issue, you might want to choose a unique name for the loop variable