# Autor: guilleCM

# coding=utf-8
# Enunciado:
# Define a procedure, total_enrollment,
# that takes as an input a list of elements,
# where each element is a list containing
# three elements: a university name,
# the total number of students enrolled,
# and the annual tuition fees.


# The procedure should return two numbers,
# not a string,
# giving the total number of students
# enrolled at all of the universities
# in the list, and the total tuition fees
# (which is the sum of the number
# of students enrolled times the
# tuition fees for each university).


udacious_univs = [['Udacity',90000,0]]
usa_univs = [ ['California Institute of Technology',2175,37704],
              ['Harvard',19627,39849],
              ['Massachusetts Institute of Technology',10566,40732],
              ['Princeton',7802,37000],
              ['Rice',5879,35551],
              ['Stanford',19535,40569],
              ['Yale',11701,40500] ]

#VERSION 1:
def total_enrollment(lista):
    totalEstudiantes = 0
    totalCoste = 0
    for elemento in lista:
        for valor in elemento:    
            if valor == elemento[1]:
                totalEstudiantes = totalEstudiantes + valor
            if valor == elemento[2]:
                totalCoste = totalCoste + (valor * elemento[1])
            total = [totalEstudiantes, totalCoste]
    return total

#VERSION 2:
def total_enrollment(lista_universidades):
    totalEstudiantesMatriculados = 0
    totalTasaMatriculas = 0
    for sublista in lista_universidades:
        totalEstudiantesMatriculados += sublista[1]
        totalTasaMatriculas = totalTasaMatriculas + (sublista[1] * sublista[2])
    return [totalEstudiantesMatriculados, totalTasaMatriculas]

#CASOS TEST#
print (total_enrollment(udacious_univs))
#>>> (90000,0)
# The L is automatically added by Python to indicate a long
# number. If you are trying the question in an outside
# interpreter you might not see it.
print (total_enrollment(usa_univs))
#>>> (77285,3058581079)
