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 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

Chase Marchione
Chase Marchione
155,055 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,236 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.