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 Dice Roller Boards

Akshaan Mazumdar
Akshaan Mazumdar
3,787 Points

Code not working !- Tic tac toe

Passed this challenge , yet it is failing now!

boards.py
class Board:
    def __init__(self, width, height):
        self.width = width
        self.height = height
        self.cells = []
        for y in range(self.height):
            for x in range(self.width):
                self.cells.append((x, y))

class TicTacToe(Board):
    def __init__(self,width,height):
        super().__init__(self, width=3,height=3)

1 Answer

When you call super().__init__() you're saying "hey, create this subclass using the parent class's __init__() method". It's like a shortcut so you don't have to put in stuff that you're going to use from the parent class. You would only pass in arguments to __init__() that are not in the parent class or ones you want to override. When you call super().__init__() you don't pass in self to __init__(). (I don't know why, that's the syntax.) So fixing those you would get:

class TicTacToe(Board):
    def __init__(self):
        super().__init__(width=3, height=3)
Akshaan Mazumdar
Akshaan Mazumdar
3,787 Points

Thanks for the reply . I had figured this one out after some time the same day :)