Skip to content
Snippets Groups Projects
Commit 2f45f305 authored by Daniel Brito's avatar Daniel Brito :alien:
Browse files

Ejercico 1 de la tarea de la clase 2

parent 405d62cc
No related branches found
No related tags found
No related merge requests found
%% Cell type:markdown id: tags:
# **Tarea 2. Ejercicio 1.**
## Daniel Brito.
## @britod
%% Cell type:markdown id: tags:
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:markdown id: tags:
#### Solución
%% Cell type:markdown id: tags:
Nuestro programa va ser definido como una función cuya variable de entrada sea una lista.
Necesitamos crear una lista
%% Cell type:code id: tags:
``` python
# Listas que contienen elementos repetidos
list0 = ['taza', 'taladro', 'besitos', 'café' , 'taza']
list1 = ['taza','-', 'taladro','-', 'besitos','-', 'café' ,'-', 'taza']
list2 = ['baño','-','cepillar','-','ducha','-','baño','-','café','-','sopa','-','ducha','-', 'ducha']
list3 = ['melodia','-','revolver','-','computadora','-', 'estrés','-','agua','-','revolver','-','computadora','-','estrés','-','agua','-','cactus','-','empanada','-','']
list4 = ['melodia','-','revolver','-','computadora','-', 'estrés','-','agua','-','revolver','-','computadora','-','estrés','-','agua','-','cactus','-','empanada','-','','-','estrés','-','','-','sol','-','luna']
```
%% Cell type:code id: tags:
``` python
# A partir de ahora, vamos a programar la funcion pedida
def program1(in_list):
# El programa comienza creando una lista vacia
v = True # Esta variable la creamos para que el programa verifique si puede dar o no un resultado
cleaning_list=[] # Esta es la lista vacia
print(in_list)
#Vamos a corroborar que la variable de entrada es una variable tipo lista
if type(in_list)==list:
print('Es una lista, podemos continuar')
else:
print('Por favor ingresa una lista')
v = False
# En esta parte, vamos a eliminar los guiones para poder eliminar las palabras repetidas
for palabra in in_list:
if palabra !='-':
cleaning_list.append(palabra)
print(cleaning_list)
# Ahora vamos a eliminar los elementos que están repetidos en la lista 'cleaning_list'. Esto lo vamos a hacer transformando
## la lista creada (cleaning_list) en un conjunto
unrepeated_set = set(cleaning_list)
print(unrepeated_set)
# Una vez eliminados los elementos repetidos, el conjunto se transforma nuevamente en una lista. Seguidamente se ordenan
## los elementos en orden alfabético usando sort()
unrepeated_list = list(unrepeated_set)
unrepeated_list.sort()
print(unrepeated_list)
# Lo que falta es agregar entre cada palabra de la lista, los guiones. Vamos a hacerlo usando un for, pero tenemos que
## tomar en cuenta lo siguiente:
### Al agregar los guiones, la cantidad de elementos de la lista cambia y también lo hacen las posiciones en las
#### que deberían estar los guiones. Por suerte, estas posiciones corresponden los números impares menores al número de
##### elementos de la lista
for i in range(1,len(unrepeated_list),1):
unrepeated_list.insert(2*i-1,'-')
# Ahora verificamos si se puede imprimir o no un resultado
if v == True:
print('Aquí tiene su lista ordenada y separada.')
return unrepeated_list
else:
print('Error')
```
%% Cell type:code id: tags:
``` python
program1(list2)
```
%% Output
['baño', '-', 'cepillar', '-', 'ducha', '-', 'baño', '-', 'café', '-', 'sopa', '-', 'ducha', '-', 'ducha']
Es una lista, podemos continuar
['baño', 'cepillar', 'ducha', 'baño', 'café', 'sopa', 'ducha', 'ducha']
{'cepillar', 'café', 'sopa', 'baño', 'ducha'}
['baño', 'café', 'cepillar', 'ducha', 'sopa']
Aquí tiene su lista ordenada y separada.
['baño', '-', 'café', '-', 'cepillar', '-', 'ducha', '-', 'sopa']
%% Cell type:code id: tags:
``` python
program1(list3)
```
%% Output
['melodia', '-', 'revolver', '-', 'computadora', '-', 'estrés', '-', 'agua', '-', 'revolver', '-', 'computadora', '-', 'estrés', '-', 'agua', '-', 'cactus', '-', 'empanada', '-', 'té']
Es una lista, podemos continuar
['melodia', 'revolver', 'computadora', 'estrés', 'agua', 'revolver', 'computadora', 'estrés', 'agua', 'cactus', 'empanada', 'té']
{'computadora', 'té', 'estrés', 'cactus', 'empanada', 'revolver', 'agua', 'melodia'}
['agua', 'cactus', 'computadora', 'empanada', 'estrés', 'melodia', 'revolver', 'té']
Aquí tiene su lista ordenada y separada.
['agua',
'-',
'cactus',
'-',
'computadora',
'-',
'empanada',
'-',
'estrés',
'-',
'melodia',
'-',
'revolver',
'-',
'té']
%% Cell type:code id: tags:
``` python
program1(list4)
```
%% Output
['melodia', '-', 'revolver', '-', 'computadora', '-', 'estrés', '-', 'agua', '-', 'revolver', '-', 'computadora', '-', 'estrés', '-', 'agua', '-', 'cactus', '-', 'empanada', '-', 'té', '-', 'estrés', '-', 'té', '-', 'sol', '-', 'luna']
Es una lista, podemos continuar
['melodia', 'revolver', 'computadora', 'estrés', 'agua', 'revolver', 'computadora', 'estrés', 'agua', 'cactus', 'empanada', 'té', 'estrés', 'té', 'sol', 'luna']
{'luna', 'sol', 'computadora', 'té', 'estrés', 'cactus', 'empanada', 'revolver', 'agua', 'melodia'}
['agua', 'cactus', 'computadora', 'empanada', 'estrés', 'luna', 'melodia', 'revolver', 'sol', 'té']
Aquí tiene su lista ordenada y separada.
['agua',
'-',
'cactus',
'-',
'computadora',
'-',
'empanada',
'-',
'estrés',
'-',
'luna',
'-',
'melodia',
'-',
'revolver',
'-',
'sol',
'-',
'té']
%% Cell type:code id: tags:
``` python
```
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment