diff --git a/retos_01/JORGE MALDONADO.jpg b/retos_01/JORGE MALDONADO.jpg new file mode 100644 index 0000000..4b29701 Binary files /dev/null and b/retos_01/JORGE MALDONADO.jpg differ diff --git a/retos_01/curva de mejora.jpg b/retos_01/curva de mejora.jpg new file mode 100644 index 0000000..35122ed Binary files /dev/null and b/retos_01/curva de mejora.jpg differ diff --git a/retos_01/ejercicio_01.md b/retos_01/ejercicio_01.md new file mode 100644 index 0000000..b5ecc9c --- /dev/null +++ b/retos_01/ejercicio_01.md @@ -0,0 +1,38 @@ +# Biografía Jorge Luis Maldonado Casillo + +![Jorge](./JORGE%20MALDONADO.jpg) + +## Datos inciales +Mi nombre es *Jorge Luis Maldonado* nací en la Ciudad de La Paz, provincia Murillo, actualmente estoy estudiando la carrera de *Ingeniería Industrial* terminando la carrera. + +## Infancia y Juventud +**Infancia** +Durante mi infacia estudié en un colegio llamado Jesus de Nasareth, que era un colegio Cristiano, en el cual logré destacar, debido a que había muchas lecciones que nos enseñaban, pero los cuales yo ya dominaba a causa de que mis papas eran profesores, y antes de entrar al colegio ellos ya me enseñaban matemáticas y lenguaje. + +Me gustaba practicar deportes dede niño, porque lo realizaba con mis primos, solía hacer los siguientes deportes: +1. Futsal +2. Futbol +3. Atletismo + +Logré representar en competencias de atletismos a mi colegio, sin embargo no logré ganar en alguna de estas ocasiones. + +**Juventud** +En mi juventud me cambiaron de colegio, del Jesus de Nasareth al *Eduardo Idiaquez*, a causa de que este nuevo colegio se encontraba en la ciudad, y yo vivía en el Alto, además que mis hermanos estudiaban conmigo, mi papas decidieron que nos deberíamos mudar. Entonces en esos años nos mudamos a la ciudad. +Posteriormente al colegio Eduardo Idiaquez, luego de haber culminado mis estudios de 6to, 7mo y 8vo de primaria, pase a formar parte del *Colegio German Busch B*. En su tiempo era un buen Colegio, que era muy estricto y tenía muy buenos profesores, varios años logré destacar como una persona aplicada, siempre en los primeros puestos.Las materias que más me gustaban y en lo que destacaba eran: +- Física +- Matemática +- Química +- Biología + +## Vida Adulta/Desarrollo Profesional +Después de haberme formado en el Colegio German Busch B, por ejemplo de mi hermano mayor que estudiaba Ingeniería Electrónica en ese entonces, decidí entrar a la facultad de Ingeniería. Mucho tiempo vi esforzarse mucho a mi hermano con prefacultativos, y posteriormente con materias de carrera, que quize asumir el reto. + + +Logré estudiar *Ingeniería Electrica* en la facultad de Ingeniería y titularme, así también mientras hacía mi proyecto de grado inicié una carrera paralela en *Ingeniería Industrial*, dado que siempre me llamó la atención la parte de proyectos y costos. Logré avanzar algunos semestres. Hasta que se me presentaron oportunidades de trabajo, por lo cual tuve que pausar mi carrera paralela, por un tiempo. Finalmente, tuve la oportunidad de quedarme a trabajar en la empresa donde ya estaba trabajando, pero decidí concluir Ingeniería Industrial, debido a que me gustó muchas materias que estudie, y siento que me apliaron el panorama técnico que tenía antes. + +Actualmente me encuentro en mi ultimo semestre de Ingeniería Industrial, y estoy realizando una pasantía en Embol S.A..Busco de hacer como proyecto de grado, Modelos predictivos para las máquinas que utilizan en su línea de producción más crítica, y por eso mi interés en aprender Python, debido a que lo estoy utilizando en mi proyecto de grado. + + + + + diff --git a/retos_01/ejercicio_02.md b/retos_01/ejercicio_02.md new file mode 100644 index 0000000..2deb97e --- /dev/null +++ b/retos_01/ejercicio_02.md @@ -0,0 +1,39 @@ +# HABITOS ATOMICOS +**Autor**: James Clear +![Portada libro](./habitos%20atomicos.jpg) + +El libro de Hábitos Atómicos tuvo un impacto positivo en mi vida, porque desarrolló en mi, la voluntad de querer mejorar mis hábitos y mejorar mi estilo de vida. +A continuación las partes que más me impactaron del libro: +## EL poder de las mejoras del 1% +En el libro hace mucho enfasis que actualmente muchas de las personas vivimos estancadas en nuestras vidas, sin mejoras que nos lleven a alcanzar nuevas oportunidades, y no dice que si tan solo intentariamos mejorar un *1%* cada día la curva sería exponencial y anualmente mejoraríamos un *365%* de lo que estamos ahora. Y que las grandes mejoras, empiezan por cambiar pequeños malos hábitos. +>> "Los hábitos son el interés compuesto de la superación personal. Así como el dinero se multiplica con el interés compuesto, los efectos de tus hábitos se multiplican a medida que lo repites." + +![Curva de mejora](./curva%20de%20mejora.jpg) + +## Malos Habitos +Algo que también me orilló a ver como estaban mis hábitos actuales, fue el ejercicio que te hace hacer el libro, y escribir en un cuaderno todas las actividades que realizas durante el día, y cuales son los que se deberían extirpar de tu vida, eso ayudará a reemplazar los malos hábitos con buenos hábitos. +Por ejemplo algunos de los malos hábitos que identifiqué en mi persona fueron los siguientes: +- Gastar muchas horas en las redes sociales sin control +- Almorza tarde +- No hacer ejercicio +## Sistemas vs Metas +El libro habla que cuando nos trazamos hábitos para conseguir metas, nuestros hábitos pueden desaparecer luego de haber alcanzado nuestro objetivo. Por ejemplo si me puse una estricta para realizar mi proyecto de grado, y levantarme todas las mañanas a leer y buscar nueva información, pero una vez que logré alcanzar mi objetivo, dejo de leer, entonces es como quitar un buen hábito, debido que la lectura cada mañana y actualizarme hacía que mejore mis conocimientos como estudiante, ahora no debería dejar de hacerlo. Por eso el libro habla que es mejor un *Sistema* , debido a que el libro hace referencia a que lo que importa son los procesos que sostienen el progreso. +>> "No te elevas al nivel de tus metas, caes al nivel de tus sistemas." +### Identidad y hábitos +En la misma medida que vayamos mejorando nuestros hábitos irán mejorando la perspectiva que tenemos de nosostros mismos, dado que el cambiar nuestros malos hábitos por buenos, cambia también la persona que somos. +## 4 leyes del cambio de comportamiento +El libro menciona las 4 leyes que ayudan a formar un buen hábito: +1. **Hazlo Obvio**: Si queremos mejorar nuestros hábitos, o queremos crear un nuevo hábito, debemos hacerlo visible a los ojos. *Por ejemplo*, si queremos hacer deporte todos los días en la noches preparar a la vista nuestra ropa deportiva. +2. **Hazlo atractivo**: podemos hacer nuestro hábitos atractivos, cuando asociamos ciertas actividades placenteras a nuestros hábitos que tal vez son difíciles de realizar, +3. **Hazlo fácil**: debemos facilitar nuestros hábitos, mejorando la disponibilidad de cosas que necesitamos para nuestro nuevo hábito. Es decir no pensar en que cada hábito que queremos debe ser perfecto, sino basta con engañar al cerebro y decir que lo haremos aunque la mitad del tiempo previsto. *Por ejemplo*, si tenemos que estudiar 1 hora, decirnos a nosotros mismos, que podemos empezar con 10 minutos. +4. **Hazlo satisfactorio**: Si un hábito es recompensado, se vuleve más probable que se repita, *por ejemplo* si logramos hacer un hábito de lectura que tal vez nos resulte aburrido, luego podemos recompensarnos con algún video de Youtube que nos guste mucho. + +# Conclusiones +Finalmente el libro nos impulsa a mantener nuestros hábitos con paciencia, y no esperando resultados rápidos. Como la mayoría y bueno en mi caso, las personas no somos pacientes en las cosas que queremos alcanzar, si no vemos un cambio rápido, nos desanimamos inmediatamente, incluso hay veces que tienen que pasar años para ver cambios reales + +En los siguientes links, pude encontrar material adicional del libro. + +En el siguiente enlace cuenta con información muy interesante acerca del libro +[Recursos adicionales hábitos atómicos](https://jamesclear.com/atomic-habits?utm_source=chatgpt.com) + +[Resumen completo en video del libro](https://www.youtube.com/watch?v=XAQmjD0yLpA) \ No newline at end of file diff --git a/retos_01/habitos atomicos.jpg b/retos_01/habitos atomicos.jpg new file mode 100644 index 0000000..c16f4b1 Binary files /dev/null and b/retos_01/habitos atomicos.jpg differ diff --git a/retos_02/ejercicio_01.py b/retos_02/ejercicio_01.py new file mode 100644 index 0000000..e3b82b9 --- /dev/null +++ b/retos_02/ejercicio_01.py @@ -0,0 +1,14 @@ +numero1 = int(input("Ingrese el primer numero entero: ")) +numero2 = int(input("Ingrese el segundo numero entero: ")) + +suma = numero1+numero2 +resta = numero1-numero2 +multiplicacion = numero1*numero2 + + + + +print("Suma:",suma) +print("Resta:",resta) +print("Multiplicación:",multiplicacion) +print("División:", numero2 !=0 and numero1/numero2 or "Division por cero") \ No newline at end of file diff --git a/retos_02/ejercicio_02.py b/retos_02/ejercicio_02.py new file mode 100644 index 0000000..ec4e3f3 --- /dev/null +++ b/retos_02/ejercicio_02.py @@ -0,0 +1,7 @@ +luz_solar = input("Hay luz solar? :") +humedad = int(input("Ingrese la humedad valores entre (0-100): ")) + +convertido = luz_solar ="True" +activar = convertido != humedad<30 + +print( activar and "El sistema de riego se activa" or "El sistema de riego no se activa") \ No newline at end of file diff --git a/retos_02/ejercicio_03.py b/retos_02/ejercicio_03.py new file mode 100644 index 0000000..97b312e --- /dev/null +++ b/retos_02/ejercicio_03.py @@ -0,0 +1,15 @@ +frase = input("Ingresa una frasse: ") + +palabras = frase.split() +cantidad_palabras = len(palabras) + +frase_minusculas = frase.lower() + +cantidad_vocales = frase_minusculas.count('a') + frase_minusculas.count('e') + frase_minusculas.count('i') + frase_minusculas.count('o') + frase_minusculas.count('u') + +frase_ordenado = frase.replace(" ","").lower() +palindromo = frase_ordenado == frase_ordenado[::-1] + +print("Cantidad de Palabras: ", cantidad_palabras) +print("Cantidad de vocales: ", cantidad_vocales) +print("Es palíndromo:",palindromo) \ No newline at end of file diff --git a/retos_03/ejercicio_04.py b/retos_03/ejercicio_04.py new file mode 100644 index 0000000..d92d71f --- /dev/null +++ b/retos_03/ejercicio_04.py @@ -0,0 +1,25 @@ +catalogo = ( + ("978-3-16-148410-0", "EL QUIJOTE", "Miguel de Cervantes", 1605), + ("978-0-14-044913-6", "LA ODISEA", "Homero", -800), + ("978-0-452-28423-4", "1984", "George Orwell", 1949), + ("978-0-7432-7356-5", "EL GRAN GATSBY", "F. Scott Fitzgerald", 1925) +) + +isbn_busqueda = input("Introducir el codigo ISBN del libro: ").strip() + +libro_1 = catalogo[0] +libro_2 = catalogo[1] +libro_3 = catalogo[2] +libro_4 = catalogo[3] + +libros = { + libro_1[0]: libro_1, + libro_2[0]: libro_2, + libro_3[0]: libro_3, + libro_4[0]: libro_4 +} + +libro_encontrado = libros.get(isbn_busqueda) + +resultado = (libro_encontrado and f"Titulo: {libro_encontrado[1].title()}, Autor:{libro_encontrado[2]}, Año: {libro_encontrado[3]}" or "Libro no encontrado") +print(resultado) diff --git a/retos_03/ejercicio_05.py b/retos_03/ejercicio_05.py new file mode 100644 index 0000000..e69de29 diff --git a/retos_03/ejercicio_06.py b/retos_03/ejercicio_06.py new file mode 100644 index 0000000..e69de29 diff --git a/retos_03/ejercicio_07.py b/retos_03/ejercicio_07.py new file mode 100644 index 0000000..05eed8a --- /dev/null +++ b/retos_03/ejercicio_07.py @@ -0,0 +1,27 @@ +stock = { + "Aspirina": {"cantidad": 50, "precio": 10.99}, + "Ibuprofeno": {"cantidad": 30, "precio": 15.49}, + "Paracetamol": {"cantidad": 20, "precio": 8.99}, + "Amoxicilina": {"cantidad": 10, "precio": 25.00} +} + +compras = [ + ("Aspirina",20), + ("Ibuprofeno",40), + ("Diclofenaco",5) +] + +med, cant = compras [0] +resultado = med not in stock and "Medicamentos no encontrado" or stock[med]["cantidad"]< cant and "No hay suficiente stock" or stock[med]["precio"]*cant + +stock[med]["cantidad"]= resultado != "Medicamentos no encontrado" and resultado != "No hay suficiente stock" and stock[med]["cantidad"] - cant or stock[med]["cantidad"] + +print("Total de la compra:", resultado) + +med, cant = compras[1] +resultado = med not in stock and "Medicamento no encontrado" or stock[med]["cantidad"]< cant and "No hay suficiente stock" or stock[med]["precio"]*cant +print(resultado) + +med, cant = compras[2] +resultado = med not in stock and "Medicamento no encontrado" or stock[med]["cantidad"]< cant and "No hay suficiente stock" or stock[med]["precio"]*cant +print(resultado) diff --git a/retos_04/ejercicio_08.py b/retos_04/ejercicio_08.py new file mode 100644 index 0000000..29c749d --- /dev/null +++ b/retos_04/ejercicio_08.py @@ -0,0 +1,21 @@ +linea = input("Ingresar los datos del sensor: ").strip() + +datos = linea.split(",") +vehiculos = datos[0].strip() +peatones = datos[1].strip() +emergencia = datos[2].strip() + +vehiculo_2 = int(vehiculos) +peatones_2 = len(peatones) + +emergencia_2 = emergencia in ["True", "1", "true", "TRUE"] + +estado = ( + emergencia_2 and "Verde") or ((not emergencia_2 and peatones_2 >5) and "Rojo" + ) or ((not emergencia_2 and peatones_2 >70 )and "Verde" + ) or ((not emergencia_2 and peatones_2 <=70)and "Amarillo" + ) + +print(f"Semaforo:{estado}") + + diff --git a/retos_04/ejercicio_09.py b/retos_04/ejercicio_09.py new file mode 100644 index 0000000..2095097 --- /dev/null +++ b/retos_04/ejercicio_09.py @@ -0,0 +1,34 @@ +palabras_sin_contenido = ["el", "la", "los", "las", "de", "y", "a", "en", "o", "que", + "pero", "con", "por", "para", "un", "una", "es", "son", + "se", "del", "al", "lo"] + +texto = input("Ingrese el texto: ").strip().lower() + +signos = ".,!?;:()" +for signo in signos: + texto = texto.replace(signo, " ") + +palabras = texto.split() + +contador = {} +for palabra in palabras: + if palabra not in palabras_sin_contenido: + if palabra in contador: + contador[palabra] = contador[palabra]+1 + else: + contador[palabra] = 1 +lista_frecuencias = [] + +for palabra in contador: + frecuencia = contador[palabra] + tupla = (frecuencia, palabra) + lista_frecuencias.append(tupla) + +lista_ordenada = sorted(lista_frecuencias, reverse=True) + +resultado = [] + +for i in range(min(3, len(lista_ordenada))): + resultado.append(lista_ordenada[i][1]) + +print(resultado) diff --git a/retos_04/ejercicio_10.py b/retos_04/ejercicio_10.py new file mode 100644 index 0000000..ac76841 --- /dev/null +++ b/retos_04/ejercicio_10.py @@ -0,0 +1,24 @@ +manzanas_rojas = 0 +manzanas_verdes = 0 +manzanas_plagas = 0 + + + +while True: + entrada_datos = input("Copiar los datos del sensor:").strip() + if entrada_datos == "empacar": + break + + for letra in entrada_datos: + if letra =="r": + manzanas_rojas += 1 + elif letra =="v": + manzanas_verdes +=1 + elif letra =="p": + manzanas_plagas +=1 +cajas_rojas = manzanas_rojas//12 +cajas_verdes = manzanas_verdes//12 + +print(f"Cajas empacadas para rojas: {cajas_rojas}") +print(f"Cajas empacadas para verdes: {cajas_verdes}") +print(f"Cantidad de manzanas con plagas: {manzanas_plagas}") \ No newline at end of file diff --git a/retos_05/ejercicio_11.py b/retos_05/ejercicio_11.py new file mode 100644 index 0000000..bfc2bcb --- /dev/null +++ b/retos_05/ejercicio_11.py @@ -0,0 +1,17 @@ +def factorial_doble(numero): + + factorial = 1 + + if numero <= 1: + factorial = 1 + else: + for i in range(1, numero +1): + factorial = factorial*i + doble = factorial*2 + return factorial, doble + +numero = int(input ("Ingrese el número :")) + +factorial,doble = factorial_doble(numero) + +print(f"Factorial: {factorial},Doble: {doble}") \ No newline at end of file diff --git a/retos_05/ejercicio_12.py b/retos_05/ejercicio_12.py new file mode 100644 index 0000000..e69de29 diff --git a/retos_05/ejercicio_13.py b/retos_05/ejercicio_13.py new file mode 100644 index 0000000..e69de29 diff --git a/retos_06/ejercicio_14.py b/retos_06/ejercicio_14.py new file mode 100644 index 0000000..6ed418e --- /dev/null +++ b/retos_06/ejercicio_14.py @@ -0,0 +1,45 @@ +def operacion(numero1, numero2, operador): + + try: + numero1= float(numero1) + numero2= float(numero2) + if operador == "+": + return numero1 + numero2 + elif operador == "-": + return numero1 - numero2 + elif operador == "*": + return numero1*numero2 + elif operador == "/": + if numero2 == 0: + raise ZeroDivisionError("No se puede dividir por cero") + return numero1/numero2 + else: + raise ValueError("Operación no valida") + except ZeroDivisionError as e: + print(e) + except ValueError: + print(e) + except TypeError: + print("Operación no valida") +while True: + + calculo = input("Ingresar operacion (formato: numero1, numero2, operador) : ") + + if calculo.lower() == "salir": + break + try: + partes = calculo.split(",") + if len(partes) != 3: + raise IndexError("No hay suficientes elementos para realizar la operacion") + + numero1 = partes[0].strip() + numero2 = partes[1].strip() + operador = partes[2].strip() + + resultado = operacion(numero1, numero2, operador) + if resultado is not None: + print("Resultado:", resultado) + except IndexError as e: + print(e) + except Exception : + print("Operación no válida") \ No newline at end of file