diff --git a/ejercicio1_SemprumG.ipynb b/ejercicio1_SemprumG.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..a0efd329d5b07a30c2f45c1b0696a7501c419363 --- /dev/null +++ b/ejercicio1_SemprumG.ipynb @@ -0,0 +1,146 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Ejercicio 1. Lista de palabras.\n", + "#### Gerardo Semprúm.\n", + "#### Usuario de Mattermost: @semprumg\n", + "#### Universidad Central de Venezuela." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Escribir un programa que acepte una lista de palabras separadas por guiones, e imprima de vuelta las mismas palabras, sin repeticion y nuevamente separadas por guiones, despues de ordenarlas alfabeticamente" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Para resolver dicho ejercicio, haremos uso de distintos métodos que poseen las listas. Empezando con lo más básico que seria la creación de dicha lista." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "lista = [] #Esto es la creación de una lista" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "La forma más sencilla de pedirle al usuario que ingrese un dato es mediante el uso de \"input\"" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Por favor introduce tus palabras separadas por un guión (Ex: hola-user): avion-gato-zapato-ventana-hola-hola-entrada-buscar\n" + ] + } + ], + "source": [ + "#La siguiente linea, es un input que permite al usuario insertar palabras\n", + "palabras = input(\"Por favor introduce tus palabras separadas por un guión (Ex: hola-user): \")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Después de ingresadas las palabras, usamos el método split() que pertenece a los stings en python y pedimos que dicha separación se identifique con guiones. Creamos un for loop con la finalidad de que cada elemento que sea identificado, se vaya agregando a la lista mencionada en el primer paso (usando el método append())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Notamos que al final de este bloque de código hay un \"#print(lista)\", esto puede ser de ayuda al usuario para asegurarse de que todas las palabras se están agregando correctamente. Para usar dicho print() solo es necesario borrar el # que tiene al principio" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "lista_pal = palabras.split(\"-\") #Separación del input mediante guiones\n", + "for i in lista_pal:\n", + " lista.append(i) #Agrega elementos a la lista del input \n", + "#print(lista) #imprime la lista que vamos creando " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Como último bloque de código, transformamos la lista creada en un set() con la finalidad de eliminar elementos repetidos. Se aplica el metodo sorted() para organizar de forma alfabetica.\n", + "Finalmente, usando join() le pedimos a python que separe dichos elementos de lista con un guión en este caso.\n", + "Imprimimos la lista y queda terminado el ejercicio" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tu lista organizada es: avion-buscar-entrada-gato-hola-ventana-zapato\n" + ] + } + ], + "source": [ + "lista = set(lista) #Usamos el set() para quitar elementos repetidos\n", + "lista = sorted(lista) #Organiza la lista de forma alfabetica \n", + "lista_str = \"-\".join(lista) #Separamos los elementos de la lista con guiones\n", + "\n", + "print(\"Tu lista organizada es:\",lista_str)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}