Object Oriented Programming: Difficult 

class House:
    def __init__(self, name):
        self.name = name
        self.points = 0

class Targaryen(House):
    sigil = "Dragon"
    words = "Fire and blood"
    def __init__(self, name):
        super().__init__(self, name)
        self.num_dragons = 1

class Stark(House):
    sigil = "Direwolf"
    words = "Winter is coming"

class Lannister(House):
    sigil = "Lion"
    words = "Hear me roar"

dany = Targaryen("Daenerys")
jon = Stark("Jon")
sansa = Stark("Sansa")
cersei = Lannister("Cersei")