diff --git a/M03_variablesydatos/Prep_Course_Homework_03-Resuelto.ipynb b/M03_variablesydatos/Prep_Course_Homework_03-Resuelto.ipynb index 067ef8de1..885f1b9b0 100644 --- a/M03_variablesydatos/Prep_Course_Homework_03-Resuelto.ipynb +++ b/M03_variablesydatos/Prep_Course_Homework_03-Resuelto.ipynb @@ -742,7 +742,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.7" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/M03_variablesydatos/Prep_Course_Homework_03.ipynb b/M03_variablesydatos/Prep_Course_Homework_03.ipynb index d75b53624..ff461cea4 100644 --- a/M03_variablesydatos/Prep_Course_Homework_03.ipynb +++ b/M03_variablesydatos/Prep_Course_Homework_03.ipynb @@ -418,7 +418,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.7" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/M03_variablesydatos/Prep_Course_Homework_03.md b/M03_variablesydatos/Prep_Course_Homework_03.md new file mode 100644 index 000000000..7613cecef --- /dev/null +++ b/M03_variablesydatos/Prep_Course_Homework_03.md @@ -0,0 +1,53 @@ +## Variables + +1) Crear una variable que contenga un elemento del conjunto de números enteros y luego imprimir por pantalla + +2) Imprimir el tipo de dato de la constante 8.5 + +3) Imprimir el tipo de dato de la variable creada en el punto 1 + +4) Crear una variable que contenga tu nombre + +5) Crear una variable que contenga un número complejo + +6) Mostrar el tipo de dato de la variable crada en el punto 5 + +7) Crear una variable que contenga el valor del número Pi redondeado a 4 decimales + +8) Crear una variable que contenga el valor 'True' y otra que contenga el valor True. ¿Se trata de lo mismo? + +9) Imprimir el tipo de dato correspondientes a las variables creadas en el punto 8 + +10) Asignar a una variable, la suma de un número entero y otro decimal + +11) Realizar una operación de suma de números complejos + +12) Realizar una operación de suma de un número real y otro complejo + +13) Realizar una operación de multiplicación + +14) Mostrar el resultado de elevar 2 a la octava potencia + +15) Obtener el cociente de la división de 27 entre 4 en una variable y luego mostrarla + +16) De la división anterior solamente mostrar la parte entera + +17) De la división de 27 entre 4 mostrar solamente el resto + +18) Utilizando como operandos el número 4 y los resultados obtenidos en los puntos 16 y 17. Obtener 27 como resultado + +19) Utilizar el operador "+" en una operación donde intervengan solo variables alfanuméricas + +20) Evaluar si "2" es igual a 2. ¿Por qué ocurre eso? + +21) Utilizar las funciones de cambio de tipo de dato, para que la validación del punto 20 resulte verdadera + +22) ¿Por qué arroja error el siguiente cambio de tipo de datos? a = float('3,8') + +23) Crear una variable con el valor 3, y utilizar el operador '-=' para modificar su contenido + +24) Realizar la operacion 1 << 2 ¿Por qué da ese resultado? ¿Qué es el sistema de numeración binario? + +25) Realizar la operación 2 + '2' ¿Por qué no está permitido? ¿Si los dos operandos serían del mismo tipo, siempre arrojaría el mismo resultado? + +26) Realizar una operación válida entre valores de tipo entero y string diff --git a/M04_flujosdecontrol/Prep_Course_Homework_04.md b/M04_flujosdecontrol/Prep_Course_Homework_04.md new file mode 100644 index 000000000..76b90eed3 --- /dev/null +++ b/M04_flujosdecontrol/Prep_Course_Homework_04.md @@ -0,0 +1,31 @@ +## Flujos de Control + +1) Crear una variable que contenga un elemento del conjunto de números enteros y luego imprimir por pantalla si es mayor o menor a cero + +2) Crear dos variables y un condicional que informe si son del mismo tipo de dato + +3) Para los valores enteros del 1 al 20, imprimir por pantalla si es par o impar + +4) En un ciclo for mostrar para los valores entre 0 y 5 el resultado de elevarlo a la potencia igual a 3 + +5) Crear una variable que contenga un número entero y realizar un ciclo for la misma cantidad de ciclos + +6) Utilizar un ciclo while para realizar el factorial de un número guardado en una variable, sólo si la variable contiene un número entero mayor a 0 + +7) Crear un ciclo for dentro de un ciclo while + +8) Crear un ciclo while dentro de un ciclo for + +9) Imprimir los números primos existentes entre 0 y 30 + +10) ¿Se puede mejorar el proceso del punto 9? Utilizar las sentencias break y/ó continue para tal fin + +11) En los puntos 9 y 10, se diseño un código que encuentra números primos y además se lo optimizó. ¿Es posible saber en qué medida se optimizó? + +12) Si la cantidad de números que se evalúa es mayor a treinta, esa optimización crece? + +13) Aplicando continue, armar un ciclo while que solo imprima los valores divisibles por 12, dentro del rango de números de 100 a 300 + +14) Utilizar la función **input()** que permite hacer ingresos por teclado, para encontrar números primos y dar la opción al usario de buscar el siguiente + +15) Crear un ciclo while que encuentre dentro del rango de 100 a 300 el primer número divisible por 3 y además múltiplo de 6 diff --git a/M05_estructuradedatos/Prep_Course_Homework_05-Resuelto.ipynb b/M05_estructuradedatos/Prep_Course_Homework_05-Resuelto.ipynb index d4b97fed8..754d5434d 100644 --- a/M05_estructuradedatos/Prep_Course_Homework_05-Resuelto.ipynb +++ b/M05_estructuradedatos/Prep_Course_Homework_05-Resuelto.ipynb @@ -1,6 +1,7 @@ { "cells": [ { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -8,6 +9,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -16,7 +18,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 1, "metadata": {}, "outputs": [ { @@ -33,6 +35,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -41,7 +44,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -57,6 +60,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -65,7 +69,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -81,6 +85,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -89,7 +94,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -105,6 +110,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -113,7 +119,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -129,6 +135,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -137,7 +144,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -154,6 +161,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -162,7 +170,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -171,7 +179,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -180,7 +188,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -196,6 +204,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -204,7 +213,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -213,7 +222,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -229,6 +238,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -237,7 +247,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -254,6 +264,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -262,7 +273,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -278,6 +289,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -286,7 +298,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -296,7 +308,7 @@ "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m~\\AppData\\Local\\Temp/ipykernel_2688/2999708316.py\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlis\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mindex\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'París'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", + "Cell \u001b[1;32mIn[14], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[39mprint\u001b[39m(lis\u001b[39m.\u001b[39;49mindex(\u001b[39m'\u001b[39;49m\u001b[39mParís\u001b[39;49m\u001b[39m'\u001b[39;49m))\n", "\u001b[1;31mValueError\u001b[0m: 'París' is not in list" ] } @@ -306,6 +318,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -314,7 +327,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -323,7 +336,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -339,6 +352,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -347,7 +361,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -367,6 +381,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -375,7 +390,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -392,6 +407,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -400,7 +416,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -416,6 +432,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -424,7 +441,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -443,6 +460,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -451,7 +469,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -467,6 +485,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -475,7 +494,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -493,6 +512,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -501,7 +521,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -522,6 +542,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -530,7 +551,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -548,6 +569,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -556,7 +578,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -573,6 +595,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -581,7 +604,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -602,6 +625,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -610,7 +634,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -621,7 +645,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -637,6 +661,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -645,7 +670,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -661,6 +686,7 @@ ] }, { + "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ @@ -669,7 +695,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -704,7 +730,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.7" + "version": "3.10.6" } }, "nbformat": 4, diff --git a/M05_estructuradedatos/Prep_Course_Homework_05.md b/M05_estructuradedatos/Prep_Course_Homework_05.md new file mode 100644 index 000000000..3a08d2ab4 --- /dev/null +++ b/M05_estructuradedatos/Prep_Course_Homework_05.md @@ -0,0 +1,51 @@ +## Estructuras de Datos + +1) Crear una lista que contenga nombres de ciudades del mundo que contenga más de 5 elementos e imprimir por pantalla + +2) Imprimir por pantalla el segundo elemento de la lista + +3) Imprimir por pantalla del segundo al cuarto elemento + +4) Visualizar el tipo de dato de la lista + +5) Visualizar todos los elementos de la lista a partir del tercero de manera genérica, es decir, sin explicitar la posición del último elemento + +6) Visualizar los primeros 4 elementos de la lista + +7) Agregar una ciudad más a la lista que ya exista y otra que no ¿Arroja algún tipo de error? + +8) Agregar otra ciudad, pero en la cuarta posición + +9) Concatenar otra lista a la ya creada + +10) Encontrar el índice de la ciudad que en el punto 7 agregamos duplicada. ¿Se nota alguna particularidad? + +11) ¿Qué pasa si se busca un elemento que no existe? + +12) Eliminar un elemento de la lista + +13) ¿Qué pasa si el elemento a eliminar no existe? + +14) Extraer el úlimo elemento de la lista, guardarlo en una variable e imprimirlo + +15) Mostrar la lista multiplicada por 4 + +16) Crear una tupla que contenga los números enteros del 1 al 20 + +17) Imprimir desde el índice 10 al 15 de la tupla + +18) Evaluar si los números 20 y 30 están dentro de la tupla + +19) Con la lista creada en el punto 1, validar la existencia del elemento 'París' y si no existe, agregarlo. Utilizar una variable e informar lo sucedido. + +20) Mostrar la cantidad de veces que se encuentra un elemento específico dentro de la tupla y de la lista + +21) Convertir la tupla en una lista + +22) Desempaquetar solo los primeros 3 elementos de la tupla en 3 variables + +23) Crear un diccionario utilizando la lista crada en el punto 1, asignandole la clave "ciudad". Agregar tambien otras claves, como puede ser "Pais" y "Continente". + +24) Imprimir las claves del diccionario + +25) Imprimir las ciudades a través de su clave diff --git a/M06_iterablesiteradores/Prep_Course_Homework_06.md b/M06_iterablesiteradores/Prep_Course_Homework_06.md new file mode 100644 index 000000000..16fc86895 --- /dev/null +++ b/M06_iterablesiteradores/Prep_Course_Homework_06.md @@ -0,0 +1,47 @@ +## Iteradores e iterables + +1) A partir de una lista vacía, utilizar un ciclo while para cargar allí números negativos del -15 al -1 + +2) ¿Con un ciclo while sería posible recorrer la lista para imprimir sólo los números pares? + +3) Resolver el punto anterior sin utilizar un ciclo while + +4) Utilizar el iterable para recorrer sólo los primeros 3 elementos + +5) Utilizar la función **enumerate** para obtener dentro del iterable, tambien el índice al que corresponde el elemento + +6) Dada la siguiente lista de números enteros entre 1 y 20, crear un ciclo donde se completen los valores faltantes: lista = [1,2,5,7,8,10,13,14,15,17,20] + +7) La sucesión de Fibonacci es un listado de números que sigue la fórmula:
+n0 = 0
+n1 = 1
+ni = ni-1 + ni-2
+Crear una lista con los primeros treinta números de la sucesión.
+ +8) Realizar la suma de todos elementos de la lista del punto anterior + +9) La proporción aurea se expresa con una proporción matemática que nace el número irracional Phi= 1,618… que los griegos llamaron número áureo. El cuál se puede aproximar con la sucesión de Fibonacci. Con la lista del ejercicio anterior, imprimir el cociente de los últimos 5 pares de dos números contiguos:
+Donde i es la cantidad total de elementos
+ni-1 / ni
+ni-2 / ni-1
+ni-3 / ni-2
+ni-4 / ni-3
+ni-5 / ni-4
+ + +10) A partir de la variable cadena ya dada, mostrar en qué posiciones aparece la letra "n"
+cadena = 'Hola Mundo. Esto es una practica del lenguaje de programación Python' + +11) Crear un diccionario e imprimir sus claves utilizando un iterador + +12) Convertir en una lista la variable "cadena" del punto 10 y luego recorrerla con un iterador + +13) Crear dos listas y unirlas en una tupla utilizando la función zip + +14) A partir de la siguiente lista de números, crear una nueva sólo si el número es divisible por 7
+lis = [18,21,29,32,35,42,56,60,63,71,84,90,91,100] + +15) A partir de la lista de a continuación, contar la cantidad total de elementos que contiene, teniendo en cuenta que un elemento de la lista podría ser otra lista:
+lis = [[1,2,3,4],'rojo','verde',[True,False,False],['uno','dos','tres']] + +16) Tomar la lista del punto anterior y convertir cada elemento en una lista si no lo es diff --git a/M07_funciones/Prep_Course_Homework_07.md b/M07_funciones/Prep_Course_Homework_07.md new file mode 100644 index 000000000..983baafc1 --- /dev/null +++ b/M07_funciones/Prep_Course_Homework_07.md @@ -0,0 +1,19 @@ +## Funciones + +1) Crear una función que reciba un número como parámetro y devuelva si True si es primo y False si no lo es + +2) Utilizando la función del punto 1, realizar otra función que reciba de parámetro una lista de números y devuelva sólo aquellos que son primos en otra lista + +3) Crear una función que al recibir una lista de números, devuelva el que más se repite y cuántas veces lo hace. Si hay más de un "más repetido", que devuelva cualquiera + +4) A la función del punto 3, agregar un parámetro más, que permita elegir si se requiere el menor o el mayor de los mas repetidos. + +5) Crear una función que convierta entre grados Celsius, Farenheit y Kelvin
+Fórmula 1 : (°C × 9/5) + 32 = °F
+Fórmula 2 : °C + 273.15 = °K
+Debe recibir 3 parámetros: el valor, la medida de orígen y la medida de destino + + +6) Iterando una lista con los tres valores posibles de temperatura que recibe la función del punto 5, hacer un print para cada combinación de los mismos: + +7) Armar una función que devuelva el factorial de un número. Tener en cuenta que el usuario puede equivocarse y enviar de parámetro un número no entero o negativo diff --git a/M08_clasesyOOP/Prep_Course_Homework_08.md b/M08_clasesyOOP/Prep_Course_Homework_08.md new file mode 100644 index 000000000..c02a29d1a --- /dev/null +++ b/M08_clasesyOOP/Prep_Course_Homework_08.md @@ -0,0 +1,27 @@ +## Clases y Programación Orientada a Objetos + +1) Crear la clase vehículo que contenga los atributos:
+Color
+Si es moto, auto, camioneta ó camión
+Cilindrada del motor + +2) A la clase Vehiculo creada en el punto 1, agregar los siguientes métodos:
+Acelerar
+Frenar
+Doblar
+ +3) Instanciar 3 objetos de la clase vehículo y ejecutar sus métodos, probar luego el resultado + +4) Agregar a la clase Vehiculo, un método que muestre su estado, es decir, a que velocidad se encuentra y su dirección. Y otro método que muestre color, tipo y cilindrada + +5) Crear una clase que permita utilizar las funciones creadas en la práctica del módulo 6
+Verificar Primo
+Valor modal
+Conversión grados
+Factorial
+ +6) Probar las funciones incorporadas en la clase del punto 5 + +7) Es necesario que la clase creada en el punto 5 contenga una lista, sobre la cual se aplquen las funciones incorporadas + +8) Crear un archivo .py aparte y ubicar allí la clase generada en el punto anterior. Luego realizar la importación del módulo y probar alguna de sus funciones diff --git a/M09_errorhandling/Prep_Course_Homework_09.md b/M09_errorhandling/Prep_Course_Homework_09.md new file mode 100644 index 000000000..c0223d19a --- /dev/null +++ b/M09_errorhandling/Prep_Course_Homework_09.md @@ -0,0 +1,20 @@ +## Manejo de errores + +1) Con la clase creada en el módulo 7, tener en cuenta diferentes casos en que el código pudiera arrojar error. Por ejemplo, en la creación del objeto recibimos una lista de números enteros pero ¿qué pasa si se envía otro tipo de dato? + +2) En la función que hace la conversión de grados, validar que los parámetros enviados sean los esperados, de no serlo, informar cuáles son los valores esperados. + +3) Importar el modulo "unittest" y crear los siguientes casos de pruebas sobre la clase utilizada en el punto 2
+Creacion del objeto incorrecta
+Creacion correcta del objeto
+Metodo valor_modal()
+ +Se puede usar "raise ValueError()" en la creación de la clase para verificar el error. Investigar sobre esta funcionalidad. + +4) Probar una creación incorrecta y visualizar la salida del "raise" + +6) Agregar casos de pruebas para el método verifica_primos() realizando el cambio en la clase, para que devuelva una lista de True o False en función de que el elemento en la posisicón sea o no primo + +7) Agregar casos de pruebas para el método conversion_grados() + +8) Agregar casos de pruebas para el método factorial() \ No newline at end of file