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
numero = int(input("Escriba el numero de palabras a ingresar: "))
if numero < 1:
print("¡Imposible!")
else:
lista = [] # Almacena las palabras en una lista vacia
palabra1 = str() # Almacena cada palabra de entrada
for i in range(numero):
print("Ingrese la palabra", str(i + 1) + ": ", end="")
palabra = input()
lista += [palabra] # Las palabras ingresadas es almacenada en una lista
palabra1 = palabra1 + str("-") + lista[i]
print("Las palabras son:", palabra1) # Se imprime las palabras en el orden ingresado, separados por guion
Escriba el numero de palabras a ingresar: 5 Ingrese la palabra 1: Naranja Ingrese la palabra 2: correr Ingrese la palabra 3: nadar Ingrese la palabra 4: Fisica Ingrese la palabra 5: playa Las palabras son: -Naranja-correr-nadar-Fisica-playa
conjunto = set(lista) # Almacenamos en un conjunto para que las palabras no se repitan
new_lista = list(conjunto) # Creamos una nueva lista sin las palabras que se repiten
new_lista.sort(key = str.lower) # Ordena alfabeticamente, incluyendo si los datos de entrada son en mayuscula
pa_orden = str() # Almacenamos las palabras de la lista ordenada alfabeticamente una a una
for i in range(len(new_lista)):
pa_orden = pa_orden + str("-") + new_lista[i] # Guardamos una a una las palabras ordenadas alfabeticamente
print("Las palabras ordenadas son: ", pa_orden) # Imprimimos las palabras ordenadas
Las palabras ordenadas son: -correr-Fisica-nadar-Naranja-playa