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
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Wed Feb 3 09:47:54 2021
@author: jennifer
Este programa crea una lista de palabras separadas por guiones
"""
'\nCreated on Wed Feb 3 09:47:54 2021\n\n@author: jennifer\n\nEste programa crea una lista de palabras separadas por guiones\n'
palabras= input("Escriba una secuencia de palabras separada por guiones...")
Escriba una secuencia de palabras separada por guiones...marta-ana-juan-andres-camilo-wilmer-frank-nestor-susana-marta-susana-wilmer-wilmer-wilmer
palabras = re.sub("-", ' ', palabras).rstrip() #con estas funciones sobre el string elimino los guiones
#y los espacios en blanco
p=palabras.split(' ') #separo las palabras y las agrego a una lista llamada 'p'
print(p)
['marta', 'ana', 'juan', 'andres', 'camilo', 'wilmer', 'frank', 'nestor', 'susana', 'marta', 'susana', 'wilmer', 'wilmer', 'wilmer']
res = [] #creo una lista donde voy a agregar los elementos no repetidos
#Con el for, me muevo palabra por palabra en la lista...
for word in p:
if word not in res:
res.append(word)
print(res) # Imprimo la lista sin elementos repetidos
res.sort() # Ordeno los elementos
print(res) # La vuelvo a imprimir
['marta', 'ana', 'juan', 'andres', 'camilo', 'wilmer', 'frank', 'nestor', 'susana'] ['ana', 'andres', 'camilo', 'frank', 'juan', 'marta', 'nestor', 'susana', 'wilmer']
count =0
str1 = "" #Creo un string para imprimir nuevamente la lista con los giones
for word in res:
count = count+1 #Cuento la cantidad de palabras
if count < len(res):
str1= str1+(word+"-") # Agrego los guiones al final de cada palabra, exeptuando la última
else:
str1= str1+(word) # Sumo la ultima palabra al string sin guión
print(str1)
ana-andres-camilo-frank-juan-marta-nestor-susana-wilmer