"""
    Qualitative Grades module

Grades in decreasing order: 
    A+  A  A-  B+  B  B- C+ ... D-
"""

def sign(nq):
    if len(nq) == 1:
        return 0.5
    else:
        return int(nq[1] == '+')
    
def leq_qual(g1, g2):
    """
    DESC: 'Less or equal than' grades operator
    INPUT: g1 g2 gardes in qual form.
    OUTPUT: g1 <= g2
    TEST: 
    >>> leq_qual('A', 'A+')
    True
    >>> leq_qual('A', 'A')
    True
    >>> leq_qual('A', 'A-')
    False
    >>> leq_qual('C+', 'B-')
    True
    >>> leq_qual('B-', 'C+')
    False
    """
    if g1[0] != g2[0]:
        return g1[0] > g2[0]
    else: #
        return sign(g1) <= sign(g2)