s3Eva_IIT2015_T2 Gestionar mensajes con etiquetas

Ejercicio: 3Eva_IIT2015_T2 Gestionar mensajes con etiquetas

Propuesta de solución en Python 3ra Eva. II Término 2015 Tema 1 y 2

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 3Eva_IIT2015_T2 Gestionar mensajes con etiquetas
# propuesta: edelros@espol.edu.ec
# version con lazos y condicionales.
# tarea: simplificar con 'for'

import numpy as np

# Tema 1. literal a)
def buscaetiqueta(mensaje):
    n = len(mensaje)
    etiquetas = []
    copia = 0
    
    i = 0
    while not(i>=n):

        #Inicia copia etiqueta
        if (mensaje[i]=='#'): 
            copia = 1
            encontre = ''
        
        if (copia==1):
            encontre = encontre + mensaje[i]
            if (i<(n-1)):
                if (mensaje[i+1]==' ' or mensaje[i+1]==','):
                    copia = 0
                    etiquetas.append(encontre)
            if (i==(n-1)):
                etiquetas.append(encontre)
        i = i + 1
    return(etiquetas)

# Tema 1. literal b)
def tabulando(lista):
    n = len(lista) # usando listas
    repetido = np.zeros(n,dtype=int)
    numrepetido = 0

    # Marcando repetidos
    i = 0 
    while not(i>=(n-1)):
        j = i + 1
        while not(j>=n):
            if (lista[i]==lista[j]):
                repetido[j]=1
                numrepetido=numrepetido+1
            j = j + 1
        i = i + 1

    #copia vector unicos, tabula usando arreglo
    unicos = []
    i = 0
    while not(i>=n):
        if (repetido[i]==0):
            unicos.append([lista[i],0])
        i = i + 1
    k = len(unicos)

    # Cuenta y Acumula
    i = 0
    while not(i>=n):
        
        #busca posicion en unicos
        j = 0     
        while not(j>=k):
            if (lista[i]==unicos[j][0]):
                unicos[j][1] = unicos[j][1]+1
            j = j + 1
            
        i = i + 1
        
    return(unicos)

# Tema 2. Admnistra mensajes de una red social
usuario = []
mensaje = []

opcion = 0
while not(opcion==4):
    print('1. Ingresar mensaje')
    print('2. Usuario frecuente')
    print('3. Tendencias')
    print('4. Salir')

    opcion = int(input('cual opcion: '))

    if (opcion==1):
        print('1. Ingresar mensaje')
        quien = input('nombre usuario: ')
        dice  = input('mensaje: ')
        usuario.append(quien)
        mensaje.append(dice)

    if (opcion==2):
        print('2. Usuario frecuente')
        quienes = tabulando(usuario)
        n = len(quienes)
        mayor = 0
        k = 1
        while not (k>=n):
            if (quienes[k][1]>quienes[mayor][1]):
                mayor = k
            k = k + 1
        print('los usuarios:')
        print(quienes)
        print('el usuario mas frecuente es: ',
                quienes[mayor][0])

    if (opcion==3):
        print('3. Tendencias')
        n = len(mensaje)
        todaetiqueta = []
        i = 0
        while not(i>=n):
            cuales = buscaetiqueta(mensaje[i])
            m = len(cuales)
            if (m>0):
                j = 0 #añade cada etiqueta
                while not(j>=m):
                    todaetiqueta.append(cuales[j])
                    j = j+1
            i = i + 1
        etiquetas = tabulando(todaetiqueta)
        n = len(etiquetas)
        mayor = 0
        k = 1
        while not (k>=n):
            if (etiquetas[k][1]>etiquetas[mayor][1]):
                mayor = k
            k = k + 1
        print(etiquetas)
        print('La tendencia es: ',etiquetas[mayor][0])

    if (opcion==4):
        print('Gracias por usar el software')