David Ramos - UIS

Problema: Lista de palabras

Escriba un programa en python que acepte una lista de palabras separadas por guiones e imprima de vuelta las mismas palabras, sin repetición y nuevamente separadas por guiones,después de ordenarlas alfabéticamente.

Ejemplo de entrada: naranja-avión-melodía-tupla-avión

Salida esperada: avión-melodía-naranja-tupla

Solución

Primero se adquieren las palabras

La estrategia es crear una lista de palabras a partir del string. La cual que se puede organizar fácilmente con métodos de las listas para luego devolver como un solo string.

Para crear la lista de palabras se irán añadiendo los caracteres del string en una variable hasta encontrar un guión, en cuyo caso se agrega el contenido de la variable a una lista y se resetea la variable donde se guardan los caracteres para almacenar la siguiente palabra.

Usando los conjuntos se eliminan duplicados y luego se organiza usando sorted()

Finalmente se usa la función join() de python para unir en un string las palabras. La lista que se unió fue una en la cual todas las palabras finalizan con un guión excepto la última.

Organizando todo en una función