courses = []
credits = []
earned  = []

def add(cc, cr, ea):
    courses.append(cc)
    credits.append(cr)
    earned.append(ea)

def drop(cc):
    index = courses.index(cc)
    #TODO: check if index is valid
    courses.pop(index)
    credits.pop(index)
    earned.pop(index)

def cprintinternal(cc, cr, ea):
    print(cc, cr, ea)

def cprint():
    ii = 0
    cprintinternal("course", "credits", "earned")
    for cc in courses:
        cr = credits[ii]
        ea = earned[ii]
        cprintinternal(cc, cr, ea)
        ii = ii + 1

def cgpa():
    numerator = denominator = 0
    ii = 0

    for cr in credits:
        ea = earned[ii]
        numerator = numerator + cr * ea
        denominator = denominator + cr
        ii = ii + 1

    return numerator / denominator

if __name__ == '__main__':
    add("CS1100", 9, 10)
    add("CS1200", 12, 9)
    add("AM1100", 9, 9)
    print("CGPA:", cgpa())
    add("EE1101", 12, 8)
    add("CS2200", 12, 10)
    drop("EE1101")
    add("CS2310", 6, 10)
    add("CS2710", 6, 9)
    cprint()
    print("CGPA:", cgpa())
