s1Eva_IT2016_T2 historial de visitas web

Ejercicio: 1Eva_IT2016_T2 historial de visitas web

Propuesta de solución en Python:

# 1ra Evaluación I Término 2016
# Tema 3. Navegacion de empleados en empresa
import numpy as np

# INGRESO
visitados = [ 'maria2|www.facebook.com|160',
              'xavi7|www.eluniverso.com|50',
              'jose15|www.sri.gob.ec|30',
              'maria2|www.twitter.com|30',
              'xavi7|www.inec.gob.ec|10',
              'maria2|www.espol.edu.ec|50',
              'jose15|www.sri.gob.ec|120',
              'xavi7|www.sri.gob.ec|20',
              'maria2|www.twitter.com|20',]
empleados = ['maria2',
             'jose15',
             'xavi7']
trabajo = ['www.espol.edu.ec',
           'www.inec.gob.ec',
           'www.sri.gob.ec']

# PROCEDIMIENTO
# a) sitios que no son de trabajo
ocio = []
n = len(visitados)
i = 0
while not(i>=n):
    registro = visitados[i]
    partes = registro.split('|')
    sitio = partes[1]
    if not(sitio in trabajo):
        if not(sitio in ocio):
            ocio.append(sitio)
    i = i+1

# b) tiempo de internet/empleado
m = len(empleados)
tiempo = np.zeros(m,dtype=int)

n = len(visitados)
i = 0
while not(i>=n):
    registro = visitados[i]
    partes = registro.split('|')
    quien = partes[0]
    indice = empleados.index(quien)
    cuanto = int(partes[2])
    tiempo[indice] = tiempo[indice] + cuanto
    i = i+1

# b) tiempo de internet por empleado/sitio. matrices
k = len(visitados)

n = len(empleados)
todositio = trabajo + ocio
m = len(todositio)
tabla = np.zeros(shape=(n,m), dtype=int)

i = 0
while not(i>=k):
    registro = visitados[i]
    partes = registro.split('|')
    quien = partes[0]
    fila = empleados.index(quien)
    donde = partes[1]
    columna = todositio.index(donde)
    cuanto = int(partes[2])
    tabla[fila,columna] = tabla[fila,columna] + cuanto
    i = i+1

# Tema 3. f)
# empleado es mas ocioso
parte = tabla[:,len(trabajo):]
ocioempleado = np.sum(parte, axis =1)
masocioso = np.argmax(ocioempleado)
quien = empleados[masocioso]

# SALIDA
print('sitios de ocio: ')
print(ocio)
print('tiempos por empleado: ')
print(tiempo)
print('tabla de tiempos: ')
print(tabla)
print('empleado mas ocioso: ', quien)