├── README.md ├── dia-1.md ├── dia-2.md ├── dia-3.md ├── dia-4.md └── dia-5.md /README.md: -------------------------------------------------------------------------------- 1 | # Introducción a Python 2 | 3 | ¡Hola! En este curso aprenderás las bases de Python para Data Science. Para más información y registro ingresa a [este link](https://makeitreal.camp/introduccion-a-python-para-data-science?utm_source=github&utm_medium=web&utm_campaign=inbound). 4 | 5 | ## Requisitos 6 | 7 | Para tomar este curso necesitarás: 8 | 9 | * Un computador con al menos 4GB de RAM con cualquier sistema operativo. 10 | * Conexión a Internet de al menos 2Mbps. 11 | * Una cuenta en [Github](https://github.com/). 12 | 13 | ## Metodología 14 | 15 | Se realizarán sesiones en vivo de aproximadamente dos horas al día los martes y jueves. Luego se asignarán ejercicios para hacer en parejas. 16 | 17 | ## Herramientas 18 | 19 | Todas las herramientas están en Internet así que no necesitarás instalar nada en tu computador. Podrás autenticarte utilizando tu cuenta de [Github](https://github.com/): 20 | 21 | * [Repl.it](https://repl.it/) - Un editor de texto en línea donde vas a realizar los ejercicios. 22 | * [Foro de Make It Real](https://foro.makeitreal.camp/) - En este foro podrás hacer tus preguntas y compartir tus soluciones a los ejercicios. 23 | * Parejas - El generador de parejas de Make It Real. Se compartirá el link al finalizar cada sesión. 24 | 25 | ## Trabajo en parejas (pair programming) 26 | 27 | Para los ejercicios vas a trabajar con una pareja a través de videollamada. El trabajo en parejas es una técnica muy popular con varias ventajas: 28 | 29 | * Ayuda a mantener la concentración. 30 | * Es una excelente oportunidad para aprender y/o enseñar. 31 | * Puedes conocer personas que también están aprendiendo! 32 | 33 | La idea del trabajo en parejas es que haya **una persona que dicta y otra que escribe**. Idealmente la persona que dicta sabe cómo hacer el ejercicio y la persona que escribe va aprendiendo y ayuda a corregir. Sin embargo, en este proceso de aprendizaje es posible el trabajo en parejas sea un poco caótico y que los dos terminen escribiendo, tienen que ir encontrando la mejor forma de trabajo. 34 | 35 | ## Ejercicios 36 | 37 | * [Día 1](dia-1.md) 38 | * [Día 2](dia-2.md) 39 | * [Día 3](dia-3.md) 40 | * [Día 4](dia-4.md) 41 | * [Día 5](dia-5.md) 42 | -------------------------------------------------------------------------------- /dia-1.md: -------------------------------------------------------------------------------- 1 | # Ejercicios día 1 2 | 3 | Recuerda que puedes hacer preguntas en el [Foro de Make It Real](https://foro.makeitreal.camp/c/curso-python-ene-2021/7). 4 | 5 | ## Ejercicio 1 6 | 7 | Escribe un programa que le pida al usuario ingresar una frase y la imprima en la consola. 8 | 9 | Recuerda que para pedirle al usuario que escriba una frase debes utilizar el método `input()` y para escribir en la consola debes utilizar el método `print()`. 10 | 11 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-1-python/638). 12 | 13 | ## Ejercicio 2 14 | 15 | Escribe un programa que le pregunte al usuario su nombre e imprima "Hola " seguido del nombre y un signo de exclamación. 16 | 17 | Por ejemplo, si el usuario ingresa "Pedro" el programa debe imprimir en la consola "Hola Pedro!". 18 | 19 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-2-python/639) 20 | 21 | ## Ejercicio 3 22 | 23 | Escribe un programa que le pida al usuario ingresar un número, luego le pida un segundo número, e imprima en la consola la suma de los dos números que ingresó el usuario. 24 | 25 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-3-python/640) 26 | 27 | ## Ejercicio 4 28 | 29 | Escribe un programa que le pida al usuario su año de nacimiento e imprima su edad actual en la consola con la frase "Tienes X años". Por ejemplo, asumiendo que el año actual es 2021 y el usuario ingresa 2000, el programa debe imprimir en la consola: 30 | 31 | ``` 32 | Tienes 21 años 33 | ``` 34 | 35 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-4-python/641) 36 | 37 | ## Ejercicio 5 38 | 39 | El área de un rectángulo se calcula con la siguiente fórmula: 40 | 41 | ``` 42 | base * altura 43 | ``` 44 | 45 | Escribe un programa que le pida al usuario la base y la altura de un rectángulo, e imprima la frase "El área es " seguido del área calculada. Por ejemplo: 46 | 47 | ``` 48 | Ingresa la base del rectángulo: 5 49 | Ingresa la altura del rectángulo: 10 50 | 51 | El área es 50 52 | ``` 53 | 54 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-5-python/642) 55 | -------------------------------------------------------------------------------- /dia-2.md: -------------------------------------------------------------------------------- 1 | # Ejercicios día 2 2 | 3 | Recuerda que puedes hacer preguntas en el [Foro de Make It Real](https://foro.makeitreal.camp/c/curso-python-ene-2021/7). 4 | 5 | ## Ejercicio 6 6 | 7 | Escriba una función llamada `suma()`que reciba dos números y retorne la suma de los dos números. 8 | 9 | ```python 10 | # escribe la función suma acá 11 | 12 | # código de prueba, verifica que aparezcan los valores correctos en la consola 13 | print(suma(1, 2)) # 3 14 | print(suma(0, 0)) # 0 15 | print(suma(245, 923)) # 1168 16 | ``` 17 | 18 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-6-python/2099). No incluyas el código de prueba. 19 | 20 | ## Ejercicio 7 21 | 22 | Escribe una función llamada `hola` que reciba un parámetro (una cadena de texto) y retorne "Hola " seguido del argumento y un signo de exclamación. 23 | 24 | ```python 25 | # escribe la función hola acá 26 | 27 | # código de prueba 28 | print(hola("Pedro")) # "Hola Pedro!" 29 | print(hola("Juan")) # "Hola Juan!" 30 | print(hola("")) # "Hola !" 31 | ``` 32 | 33 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-7-python/2100). No incluyas el código de prueba. 34 | 35 | ## Ejercicio 8 36 | 37 | Escribe una función llamada `raiz_cuadrada` que reciba un parámetro `num` y retorne la raíz cuadrada de `num`. 38 | 39 | **Nota:** Usa el operador exponente `**` para calcular la raíz cuadrada. 40 | 41 | ```python 42 | # escribe la función raiz_cuadrada acá 43 | 44 | # código de prueba 45 | print(raiz_cuadrada(25)) # 5.0 46 | print(raiz_cuadrada(5476)) # 74.0 47 | print(raiz_cuadrada(2)) # 1.4142135623730951 48 | ``` 49 | 50 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-8-python/2101). No incluyas el código de prueba. 51 | 52 | ## Ejercicio 9 53 | 54 | Escribe una función llamada `propina` que reciba dos números: `total` y `porcentaje`. La función debe retornar el valor de la propina. 55 | 56 | ```python 57 | # escribe la función propina acá 58 | 59 | # código de prueba 60 | print(propina(100, 50)) # 50 61 | print(propina(200, 10)) # 20 62 | print(propina(5000, 90)) # 4500 63 | ``` 64 | 65 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-9-python/2102). No incluyas el código de prueba. 66 | 67 | ## Ejercicio 10 68 | 69 | Escribe una función llamada `porcentaje_de_victorias` que reciba dos números: `victorias` y `derrotas`. La función debe retornar el porcentaje de victorias. 70 | 71 | ```python 72 | # escribe la función porcentaje_de_victorias acá 73 | 74 | # código de prueba 75 | print(porcentaje_de_victorias(5, 5)) # 50 76 | print(porcentaje_de_victorias(7, 0)) # 100 77 | print(porcentaje_de_victorias(6000, 4000)) # 60 78 | ``` 79 | 80 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-10-python/2103). No incluyas el código de prueba. 81 | 82 | ## Ejercicio 11 83 | 84 | Dicen que un año en un humano es equivalente a 7 años de vida de los perros. Escribe una función llamada `edad_perruna` que reciba dos parámetros: `nombre` y `edad`. La función debe calcular la edad en años perrunos y retornar la siguiente cadena de texto (string): ", tienes en años perrunos!". 85 | 86 | ```python 87 | # escribe la función edad_perruna acá 88 | 89 | # código de prueba 90 | print(edad_perruna("Pedro", 20)) # 140 91 | print(edad_perruna("Maria", 8)) # 56 92 | print(edad_perruna("Alex", 45)) # 315 93 | ``` 94 | 95 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-11-python/2104). No incluyas el código de prueba. 96 | -------------------------------------------------------------------------------- /dia-3.md: -------------------------------------------------------------------------------- 1 | # Ejercicios día 3 2 | 3 | Recuerda que puedes hacer preguntas en el [Foro de Make It Real](https://foro.makeitreal.camp/c/curso-python-ene-2021/7). 4 | 5 | ## Ejercicio 12 6 | 7 | Escribe una función llamada `en_rango` que reciba tres parámetros: `num`, `inferior`, `superior`. La función debe retornar `True` si `num` es mayor o igual a `inferior` y menor a `superior`. De lo contrario debe retornar `False`. 8 | 9 | ```python 10 | # escribe la función en_rango acá 11 | 12 | # código de prueba 13 | print(en_rango(5, 1, 10)) # True 14 | print(en_rango(5, 6, 10)) # False 15 | print(en_rango(1, 1, 10)) # True 16 | print(en_rango(10, 1, 10)) # False 17 | ``` 18 | 19 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-12-python/2399). No incluyas el código de prueba. 20 | 21 | ## Ejercicio 13 22 | 23 | Escribe una función llamada `calificar_pelicula` que reciba un parámetro `rating` (un número). Si el `rating` es menor a o igual a 5 la función debe retornar la cadena `"Terrible!"`. Si el `rating` está entre 5 y 9 debe retornar la cadena `"Interesante"`. Si el `rating` es 9 o más debe retornar la cadena `"Increíble!"`. 24 | 25 | ```python 26 | # escribe la función calificar_pelicula acá 27 | 28 | # código de prueba 29 | print(calificar_pelicula(5)) # "Terrible!" 30 | print(calificar_pelicula(8)) # "Interesante" 31 | print(calificar_pelicula(9)) # "Increíble!" 32 | ``` 33 | 34 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-13-python/2400). No incluyas el código de prueba. 35 | 36 | ## Ejercicio 14 37 | 38 | Escribe una función llamada `mas_del_doble` que reciba dos parámetros: `num1` y `num2`. La función debe retornar `True` si `num2` es más del doble de `num1`. De lo contrario debe retornar `False`. 39 | 40 | ```python 41 | # escribe la función mas_del_doble acá 42 | 43 | # código de prueba 44 | print(mas_del_doble(2, 5)) # True 45 | print(mas_del_doble(5, 10)) # False 46 | ``` 47 | 48 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-14-python/2401). No incluyas el código de prueba. 49 | 50 | ## Ejercicio 15 51 | 52 | Escribe una función llamada `gran_exponente` que reciba dos parámetros: `base` y `exponente`. Si `base` elevado a exponente es más de `5000` debe retornar `True`. De lo contrario debe retornar `False`. 53 | 54 | ```python 55 | # escribe la función gran_exponente acá 56 | 57 | # código de prueba 58 | print(gran_exponente(2, 8)) # False 59 | print(gran_exponente(5, 1000)) # False 60 | print(gran_exponente(6, 900)) # True 61 | ``` 62 | 63 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-15-python/2403). No incluyas el código de prueba. 64 | 65 | ## Ejercicio 16 66 | 67 | Escribe una función llamada `divisible_por_10` que reciba un parámetro `num` que retorne `True` si `num` es divisible por 10 y `False` de lo contrario. 68 | 69 | ```python 70 | # escribe la función divisible_por_10 acá 71 | 72 | # código de prueba 73 | print(divisible_por_10(100)) # True 74 | print(divisible_por_10(1980)) # True 75 | print(divisible_por_10(38)) # False 76 | ``` 77 | 78 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-16-python/2404). No incluyas el código de prueba. 79 | 80 | ## Ejercicio 17 81 | 82 | Escribe una función llamada `bing_bong` que reciba un número como parámetro: 83 | 84 | * Si el número es múltiplo de 3 debe retornar "bing". 85 | * Si el número es múltiplo de 5 debe retornar "bong". 86 | * Si el número es múltiplo tanto de 3 como de 5 debe retornar "bingbong". 87 | * Si no cumple ninguna de las condiciones anteriores debe retornar el mismo número. 88 | 89 | ```python 90 | # escribe la función bing_bong acá 91 | 92 | # código de prueba 93 | print(bing_bong(3)) # "bing" 94 | print(bing_bong(5)) # "bong" 95 | print(bing_bong(30)) # "bingbong" 96 | print(bing_bong(8)) # 8 97 | ``` 98 | 99 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-17-python/2405). No incluyas el código de prueba. 100 | -------------------------------------------------------------------------------- /dia-4.md: -------------------------------------------------------------------------------- 1 | # Ejercicios día 4 2 | 3 | Recuerda que puedes hacer preguntas en el [Foro de Make It Real](https://foro.makeitreal.camp/c/curso-python-ene-2021/7). 4 | 5 | ## Ejercicio 18 6 | 7 | 1. Crea una lista con los valores `"Pedro"`, `"Maria"`, `"Pablo"`, `"Diana"` y asígnala a una variable llamada `nombres`. 8 | 2. Utiliza `append` para insertar el nombre `"Juan"`. 9 | 3. Imprime cada nombre en una nueva línea 10 | 11 | El resultado debería ser el siguiente: 12 | 13 | ``` 14 | Pedro 15 | Maria 16 | Pablo 17 | Diana 18 | Juan 19 | ``` 20 | 21 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-18-python/2510). 22 | 23 | ## Ejercicio 19 24 | 25 | Escribe una función `crear_rango` que reciba un número y retorne una lista desde 1 hasta el número recibido. Si el número es menor a `1` retorna un lista vacía. 26 | 27 | ```python 28 | # escribe la función crear_rango acá 29 | 30 | # código de prueba 31 | print(crear_rango(5)) # [1, 2, 3, 4, 5] 32 | print(crear_rango(1)) # [1] 33 | print(crear_rango(0)) # [] 34 | print(crear_rango(-10)) # [] 35 | ``` 36 | 37 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-19-python/2511). No incluyas el código de prueba. 38 | 39 | ## Ejercicio 20 40 | 41 | Escribe una función llamada `longitud` que reciba una lista y retorne la longitud de la lista: 42 | 43 | ```python 44 | # escribe la función longitud acá 45 | 46 | # código de prueba 47 | print(longitud([1, 2])) # 2 48 | print(longitud(['a', 'b', 'c', 'd', 'e'])) # 5 49 | print(longitud([])) # 0 50 | ``` 51 | 52 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-20-python/2512). No incluyas el código de prueba. 53 | 54 | ## Ejercicio 21 55 | 56 | Escribe una función llamada `combinar` que reciba dos listas y retorne una nueva lista con los elementos combinados en tuplas: 57 | 58 | ```python 59 | # escribe la función combinar acá 60 | 61 | # código de prueba 62 | print(combinar([1, 2], ['a', 'b'])) # [(1, 'a'), (2, 'b')] 63 | print(combinar(["Pedro", "Maria"], [15, 22])) # [("Pedro", 15), ("Maria", 22)] 64 | ``` 65 | 66 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-21-python/2513). No incluyas el código de prueba. 67 | 68 | ## Ejercicio 22 69 | 70 | Escribe una función llamada `ordenar` que reciba una lista de números y retorne la lista ordenada: 71 | 72 | ```python 73 | # escribe la función ordenar acá 74 | 75 | # código de prueba 76 | print(ordenar([3, 2, 1])) # [1, 2, 3] 77 | print(ordenar([5, 1, 8, 7])) # [1, 5, 7, 8] 78 | ``` 79 | 80 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-22-python/2514). No incluyas el código de prueba. 81 | 82 | ## Ejercicio 23 83 | 84 | Escribe una función llamada `ultimo` que reciba una lista y retorne el último elemento. Si la lista es vacía debe retornar "La lista está vacía": 85 | 86 | ```python 87 | # escribe la función ultimo acá 88 | 89 | # código de prueba 90 | print(ultimo([3, 2, 1])) # 1 91 | print(ultimo([5, 1, 8, 7])) # 7 92 | print(ultimo([])) # "La lista está vacía" 93 | ``` 94 | 95 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-23-python/2515). No incluyas el código de prueba. 96 | 97 | ## Ejercicio 24 98 | 99 | Completa el siguiente programa para imprimir los números que sean mayores a 10. 100 | 101 | ```python 102 | nums = [1, 23, 5, 8, 40, 12, 2, 67, 24, 9, 39] 103 | # // escribe tu código acá 104 | ``` 105 | 106 | El resultado debería ser el siguiente: 107 | 108 | ``` 109 | 23 110 | 40 111 | 12 112 | 67 113 | 24 114 | 39 115 | ``` 116 | 117 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-24-python/2516). 118 | -------------------------------------------------------------------------------- /dia-5.md: -------------------------------------------------------------------------------- 1 | # Ejercicios día 5 2 | 3 | Recuerda que puedes hacer preguntas en el [Foro de Make It Real](https://foro.makeitreal.camp/c/curso-python-ene-2021/7). 4 | 5 | ## Ejercicio 25 6 | 7 | Escribe un programa que le pida al usuario ingresar una frase. El programa debe imprimir la frase en la consola 10 veces. 8 | 9 | **Nota:** utiliza un ciclo para imprimir la frase las 10 veces. 10 | 11 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-25-python/2565). 12 | 13 | ## Ejercicio 26 14 | 15 | Escribe un programa que imprima los números pares del 1 al 100. 16 | 17 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-26-python/2566). 18 | 19 | ## Ejercicio 27 20 | 21 | Escribe una función llamada `sumar_lista` que reciba una lista y retorne la suma de todos los elementos: 22 | 23 | ```python 24 | # escribe la función sumar_lista 25 | 26 | # código de prueba 27 | print(sumar_lista([1, 2, 3])) # 6 28 | print(sumar_lista([5, 1, 8, 7])) # 21 29 | print(sumar_lista([])) # 0 30 | ``` 31 | 32 | **Nota:** Este ejercicio se puede hacer con ciclos y con una función incluida en Python. Intenta buscar las dos formas pero utiliza los ciclos para solucionar este ejercicio. 33 | 34 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-27-python/2567). No incluyas el código de prueba. 35 | 36 | ## Ejercicio 28 37 | 38 | Escribe una función llamada `multiplicar` que reciba un lista y un número. La función debe retornar una nueva lista con todos los elementos multiplicados por el número: 39 | 40 | ```python 41 | # escribe la función multiplicar 42 | 43 | # código de prueba 44 | print(multiplicar([1, 2, 3], 5)) # [1, 10, 15] 45 | print(multiplicar([8, 4, 7, 9], 2)) # [16, 8, 14, 18] 46 | print(multiplicar([])) # [] 47 | ``` 48 | 49 | **Nota:** Utiliza list comprenhensions para solucionar este ejercicio. 50 | 51 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-28-python/2568). No incluyas el código de prueba. 52 | 53 | ## Ejercicio 29 54 | 55 | Escribe una función llamada `promedio` que reciba una lista de números y retorne el promedio: 56 | 57 | ```python 58 | # escribe la función promedio 59 | 60 | # código de prueba 61 | print(promedio([1, 2, 3])) # 2 62 | print(promedio([8, 4, 7, 9])) # 7 63 | print(promedio([])) # 0 64 | ``` 65 | 66 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-29-python/2569). No incluyas el código de prueba. 67 | 68 | ## Ejercicio 30 69 | 70 | Escribe un programa que piense un número de 1 a 10 de forma aleatoria y le pida al usuario que lo trate de adivinar. El usuario puede intentar indefinidamente hasta que encuentre el número. 71 | 72 | Un ejemplo de la ejecución del programa podría ser el siguiente, asumiendo que el número es 2: 73 | 74 | ``` 75 | Adivina el número: 5 76 | Fallaste! 77 | 78 | Adivina el número: 2 79 | Felicitaciones, lo encontraste! 80 | ``` 81 | 82 | Comparte tu respuesta [en este enlace](https://foro.makeitreal.camp/t/respuestas-ejercicio-30-python/2570). 83 | --------------------------------------------------------------------------------