Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Python Object-Oriented Python (retired) Inheritance __str__

i need help completing this code challenge

Add a str method to GameScore that returns the score in the string "Player 1: 5; Player 2: 10", using the correct values from self.score. self.score is a tuple with Player 1's score and Player 2's score like (5, 10).You do not need to define self.score. It comes from the Game class.

game_str.py
from game import Game
class GameScore(Game):
  pass
def __str__(self):
  return "Player 1: {}; Player 2: {}".format(self.score[0] , self.score[1])

2 Answers

cm21
cm21
150,854 Points

Hi Noel,

You're very close. The issue is with indenting: Python is whitespace sensitive, which means that it makes a difference whether we indent blocks of code (and whether we do it with the expected amount of blank space.)

from game import Game
class GameScore(Game):
  pass

  def __str__(self):
    return "Player 1: {}; Player 2: {}".format(self.score[0] , self.score[1])

Hope this helps!

thanks it worked perfectly well

John Hill
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
John Hill
Front End Web Development Techdegree Graduate 35,224 Points

You might also use:

return "Player 1: {}; Player 2: {}".format(*self.score)

The asterisk will unpack the tuple and insert it accordingly, saving a bit of typing.