Ejercicio: 3Eva2015TII_T2 Gestionar mensajes con etiquetas
Propuesta de solución en Python 3ra Eva. II Término 2015 Tema 1 y 2
Algoritmo en Python
# 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')