Estudiante: Angie Nicole Hernández Durán - UIS
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.
#Voy a hacer una función que reciba dicha lista de palabras y haga lo requerido
def organizador(string_of_words): #El argumento de mi función debe ser tipo str
x = string_of_words.split('-')#Separo el string que tengo para poder comparar y ordenar las palabras
x = list(dict.fromkeys(x)) #Hago de la lista un diccionario, y toma las keys, esto hace que se ignoren
#las keys repetidas. luego se hace del diccionario de nuevo una lista
x_sorted = sorted(x) #Ordeno alfabéticamente
y = '-'.join(x_sorted) #Concateno la lista, poniendo guiones entre las palabras
print(y) #Imprimo dicha lista
return y #Dicha lista es además lo que devuelve mi función
Ahora una prueba
lista = input("Ingrese una lista de palabras separadas SOLAMENTE por guiones: ")
Ingrese una lista de palabras separadas SOLAMENTE por guiones:mesa-pared-piso-techo-edificio-pared-escritorio-botella-vaso-botella-libreta-lápiz-closet
Ingresamos lo anterior a la función
n = organizador(lista)
botella-closet-edificio-escritorio-libreta-lápiz-mesa-pared-piso-techo-vaso
Parece que funciona bien