# This program takes two lists of data:
# one with names and expected year of graduation
# and one with name and gpa
# The output it gives is the average gpa for each class year


def ReadNameYear( D ):
    print "Enter names and years"
    done = False
    while not done:
        name = raw_input( "name: " )
        if name == "":
            done = True
        else:
            year = input( "year: " )
            if year in D.keys():
                D[year].append( name )
            else:
                D[year] = [ name ]
                
def ReadNameGPA( D ):
    print "Enter names and gpas" 
    done = False
    while not done:
        name = raw_input( "name: " )
        if name == "":
            done = True
        else:
            gpa = input( "gpa: " )
            D[name] = gpa

def PrintAverages( D1, D2 ):
    # This prints for each year the average gpa of the students for that year
    for year in D1.keys():
        sum = 0.0
        for person in D1[year]:
            sum = sum + D2[person]
        average = sum / len(D1[year])
        print "%d: %.2f" % (year, average)
        
def main():
    NameYear = {}
    NameGPA = {}
    ReadNameYear( NameYear )
    ReadNameGPA( NameGPA )
    PrintAverages( NameYear, NameGPA )

main()
