Skip to content
Snippets Groups Projects
Commit dcc26a45 authored by Luis Leon's avatar Luis Leon
Browse files

primer ejericicio

parent 405d62cc
No related branches found
No related tags found
No related merge requests found
This diff is collapsed.
%% Cell type:markdown id: tags:
# Lista de palabras
%% 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:code id: tags:
``` python
print('Escriba una lista de palabras separadas por guiones.')
print('Por ejemplo: naranja-avión-melodía-tupla-avión')
```
%% Output
Escriba una lista de palabras separadas por guiones.
Por ejemplo: naranja-avión-melodía-tupla-avión
%% Cell type:markdown id: tags:
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
%% Cell type:code id: tags:
``` python
palabras_entrada = input()
```
%% Output
naranja-avión-melodía-tupla-avión-naranja-avión-melodía-tupla-avión-naranja-avión-melodía-tupla-avión
%% Cell type:markdown id: tags:
El programa hace uso de una función ej1 que:
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
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
```
%% Cell type:markdown id: tags:
Aplicando la función ej1 a las palabras introducidas:
%% Cell type:code id: tags:
``` python
palabras_salida = ej1(palabras_entrada)
```
%% Cell type:markdown id: tags:
Comparando el valor de entrada y el de salida:
%% Cell type:code id: tags:
``` python
print('Palabras introducidas:',palabras_entrada)
print ('Salida de palabras:',palabras_salida)
```
%% Output
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
%% 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