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
print('Escriba una lista de palabras separadas por guiones.')
print('Por ejemplo: naranja-avión-melodía-tupla-avión')
Escriba una lista de palabras separadas por guiones. Por ejemplo: naranja-avión-melodía-tupla-avión
El comando input()
lee una línea de entrada y la convierte en un string, en este es caso es para almancenarlo en la variable palabras_entrada
palabras_entrada = input()
naranja-avión-melodía-tupla-avión-naranja-avión-melodía-tupla-avión-naranja-avión-melodía-tupla-avión
El programa hace uso de una función ej1 que:
def ej1(x):
"""
Para una serie de palabras separadas por guión
retorna las palabras ordenadas alfabeticamente
"""
x = x.split('-') #una lista de las palabras sin guion
x = list(set(x)) #lo vuelve conjunto (para eliminar repeticiones) y vuelve a ser lista
x = sorted(x) #ordena alfabeticamente
x = '-'.join(x) # se vuelve string y annade guiones entre palabra
return x #retorna el string deseado
Aplicando la función ej1 a las palabras introducidas:
palabras_salida = ej1(palabras_entrada)
Comparando el valor de entrada y el de salida:
print('Palabras introducidas:',palabras_entrada)
print ('Salida de palabras:',palabras_salida)
Palabras introducidas: naranja-avión-melodía-tupla-avión-naranja-avión-melodía-tupla-avión-naranja-avión-melodía-tupla-avión Salida de palabras: avión-melodía-naranja-tupla