def __init__(self):
        self.__len = 15
        j = 0
        k = 0
        not_deck = []
        while j < 5:
            i = 0
            while i < 3:
                if k == 0:
                    not_deck.append(Duke())
                if k == 1:
                    not_deck.append(Assassin())
                if k == 2:
                    not_deck.append(Ambassador())
                if k == 3:
                    not_deck.append(Captain())
                if k == 4:
                    not_deck.append(Contessa())
                if i == 2:
                    k += 1
                i += 1
            j += 1

        deck = []
        l = 15
        #Here we shuffle the deck
        while l > 0:
            x = random.randint(0, l - 1)
            l -= 1
            deck.append(not_deck[x])
            not_deck.pop(x)

        self.__deck = deck
 def put_back_cards(self, i):
     #Puts a card back in the deck (at the end of it)
     c = 0
     while c == 0:
         if i == 0:
             card = Duke()
             self.deck_setter(-1, card)
         elif i == 1:
             card = Assassin()
             self.deck_setter(-1, card)
         elif i == 2:
             card = Ambassador()
             self.deck_setter(-1, card)
         elif i == 3:
             card = Captain()
             self.deck_setter(-1, card)
         elif i == 4:
             card = Contessa()
             self.deck_setter(-1, card)
         c = 1
     return 0