"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.\n",
"\n",
"Ejemplo de entrada: naranja-avión-melodía-tupla-avión\n",
"\n",
"Salida esperada: avión-melodía-naranja-tupla"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Escriba una lista de palabras separadas por guiones.\n",
"1. Genera una lista (de string) de palabras a partir del string inicial. Dicha lista considera a una palabra como cualquier cosa que sea separada por un guión.\n",
"2. Para evitar las palabras convierte en un set a la lista generada anteriormente, luego se genera otra lista a partir del set anterior.\n",
"3. Con el comando sorted() se ordena por orden alfabético la lista anterior\n",
"4. Finalmente la función crea un string a partir de la lista anterior en donde añade un guión entre las palabras."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"def ej1(x):\n",
" \"\"\"\n",
" Para una serie de palabras separadas por guión\n",
" retorna las palabras ordenadas alfabeticamente\n",
" \"\"\"\n",
" x = x.split('-') #una lista de las palabras sin guion\n",
" x = list(set(x)) #lo vuelve conjunto (para eliminar repeticiones) y vuelve a ser lista \n",
" x = sorted(x) #ordena alfabeticamente\n",
" x = '-'.join(x) # se vuelve string y annade guiones entre palabra\n",
" return x #retorna el string deseado"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Aplicando la función ej1 a las palabras introducidas:"
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
%% Cell type:code id: tags:
``` python
print('Escriba una lista de palabras separadas por guiones.')
1. Genera una lista (de string) de palabras a partir del string inicial. Dicha lista considera a una palabra como cualquier cosa que sea separada por un guión.
2. Para evitar las palabras convierte en un set a la lista generada anteriormente, luego se genera otra lista a partir del set anterior.
3. Con el comando sorted() se ordena por orden alfabético la lista anterior
4. Finalmente la función crea un string a partir de la lista anterior en donde añade un guión entre las palabras.
%% Cell type:code id: tags:
``` python
defej1(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
returnx#retorna el string deseado
```
%% Cell type:markdown id: tags:
Aplicando la función ej1 a las palabras introducidas: