avatar Bite 114. Implement a Color class with staticmethod

As the new junior developer, you have been charged with enhancing the Color class.

Your task will be to implement the following:

  • add self.rgb to the __init__ method that gets its value from the provided COLOR_NAMES dictionary (k, v = color_name, rgb tuple = e.g.: "ALICEBLUE": (240, 248, 255)). If the value does not exist, just assume it is None.
  • Convert hex2rgb and rgb2hex into @staticmethods.
  • Validate the values being passed to each of these staticmethods and raise a ValueError if called with bad data.
  • Add a __repr__ method whose value is in the form of Color('white'), with white being the inital value that it was initialized with.
  • Add a __str__ method whose value is the RGB value of the color if it is found in COLOR_NAMES, else return Unknown.

Take a look at the tests for a better understanding of the values expected.

Good luck!

Login and get coding
go back Intermediate level
Bitecoin 3X

285 out of 291 users completed this Bite.
Will you be Pythonista #286 to crack this Bite?
Resolution time: ~86 min. (avg. submissions of 5-240 min.)
Pythonistas rate this Bite 6.33 on a 1-10 difficulty scale.
» Up for a challenge? 💪

Focus on this Bite hiding sidebars, turn on Focus Mode.

Ask for Help