class Karta:
  _barve = ["Pikov", "Srčev", "Karin", "Križev"]
  _opisi = [None, "as", "2", "3", "4", "5", "6", "7",
            "8", "9", "10", "fant", "dama", "kralj"]
  def __init__(self, barva=0, vrednost=0):
    """ Inicializator """
    self._barva = barva
    self._vrednost = vrednost
  def __str__(self):
    """ Vrne niz, ki predstavlja karto """
    b = self._barva
    v = self._vrednost
    k = "" # Končnica za moško obliko
    if (v >= 2 and v <= 10 or v == 12):
      k = "a" # Končnica za žensko obliko
    return (self._barve[b] + k + " " + self._opisi[v])
  def cmp(self, karta):
    """ Primerja dve karti """
    # Preveri barve
    if self._barva > karta._barva: return 1
    if self._barva < karta._barva: return -1
    # Ista barva... preveri vrednosti
    if self._vrednost > karta._vrednost or \
       self._vrednost == 1 and karta._vrednost > 1:
         return 1
    if self._vrednost < karta._vrednost or \
       self._vrednost > 1 and karta._vrednost == 1:
         return -1
    # Ista vrednost... ista karta
    return 0
  def __eq__(self, karta):
    """ Prekrije operator == za primerjanje kart """
    return self.cmp(karta) == 0
  def __le__(self, karta):
    """ Prekrije operator <= za primerjanje kart """
    return self.cmp(karta) <= 0
  def __ge__(self, karta):
    """ Prekrije operator >= za primerjanje kart """
    return self.cmp(karta) >= 0
  def __gt__(self, karta):
    """ Prekrije operator > za primerjanje kart """
    return self.cmp(karta) > 0
  def __lt__(self, karta):
    """ Prekrije operator < za primerjanje kart """
    return self.cmp(karta) < 0
  def __ne__(self, karta):
    """ Prekrije operator != za primerjanje kart """
    return self.cmp(karta) != 0
karta1 = Karta(2, 1)  # Srčev as
karta2 = Karta(2, 13) # Srčev kralj
print(karta1 < karta2)
print(karta1 > karta2)