From 00f15ad06151b298e8ba2ce1777da7fcc99d0f9d Mon Sep 17 00:00:00 2001 From: IsraelBarr98 Date: Fri, 9 Jan 2026 21:28:51 +0000 Subject: [PATCH] mi perfil --- notebook/problems.es.ipynb | 171 ++++++++++++++++++++++++++++++++++++- 1 file changed, 170 insertions(+), 1 deletion(-) diff --git a/notebook/problems.es.ipynb b/notebook/problems.es.ipynb index 9ca24e541..cd3105231 100644 --- a/notebook/problems.es.ipynb +++ b/notebook/problems.es.ipynb @@ -1 +1,170 @@ -{"cells":[{"cell_type":"markdown","id":"a41f3622","metadata":{},"source":["# Ejercicios de probabilidad"]},{"cell_type":"markdown","id":"a6bdbd89","metadata":{},"source":["## Ejercicio 1 \n","\n","Dos dados se lanzan una vez y se observa el total obtenido. Usa una simulación para encontrar la probabilidad estimada de que la puntuación sea mayor a 7 o un número par. Una simulación es una repetición del mismo experimento multiples veces para observar su comportamiento:\n","\n","- Ejecuta el experimento 1000 veces (lanza 2 dados 1000 veces, y suma el número de ambos dados).\n","- Lleva ua cuenta de los números y las veces que la suma fue mayor a 7 o un número par.\n","- Divide el número del paso 2 entre el número de iteraciones(1000)."]},{"cell_type":"code","execution_count":1,"id":"8939d892","metadata":{},"outputs":[],"source":["# TODO"]},{"cell_type":"markdown","id":"55732bca","metadata":{},"source":["## Ejercicio 2\n","\n","Una caja contiene 10 bolas blancas, 20 bolas rojas y 30 bolas verdes. Si tomamos 5 bolas de la caja reemplazándolas (tomando una bola, anotando el color y luego regresandola a la caja). Queremos saber la probabilidad de:\n","\n","1. Tomar 3 blancas y 2 rojas.\n","2. Toas todas del mismo color.\n","\n","Ejecuta el experimento 1000 veces y calcula las probabilidades que mencionadas."]},{"cell_type":"code","execution_count":null,"id":"23244d20","metadata":{},"outputs":[{"ename":"","evalue":"","output_type":"error","traceback":["\u001b[1;31mRunning cells with 'c:\\Program Files\\Python312\\python.exe' requires the ipykernel package.\n","\u001b[1;31mRun the following command to install 'ipykernel' into the Python environment. \n","\u001b[1;31mCommand: '\"c:/Program Files/Python312/python.exe\" -m pip install ipykernel -U --user --force-reinstall'"]}],"source":["ball_box = {}\n","\n","# Crea la cajas con las bolas\n","for i in range(60):\n"," if i < 10:\n"," ball_box[i] = \"White\"\n"," elif (i > 9) and (i < 30):\n"," ball_box[i] = \"Red\"\n"," else:\n"," ball_box[i] = \"Green\"\n","\n","print(ball_box)\n"," \n","# TODO"]}],"metadata":{"interpreter":{"hash":"9248718ffe6ce6938b217e69dbcc175ea21f4c6b28a317e96c05334edae734bb"},"kernelspec":{"display_name":"Python 3.9.12 ('ML-BOOTCAMP')","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.12.1"}},"nbformat":4,"nbformat_minor":5} +{ + "cells": [ + { + "cell_type": "markdown", + "id": "a41f3622", + "metadata": {}, + "source": [ + "# Ejercicios de probabilidad" + ] + }, + { + "cell_type": "markdown", + "id": "a6bdbd89", + "metadata": {}, + "source": [ + "## Ejercicio 1 \n", + "\n", + "Dos dados se lanzan una vez y se observa el total obtenido. Usa una simulación para encontrar la probabilidad estimada de que la puntuación sea mayor a 7 o un número par. Una simulación es una repetición del mismo experimento multiples veces para observar su comportamiento:\n", + "\n", + "- Ejecuta el experimento 1000 veces (lanza 2 dados 1000 veces, y suma el número de ambos dados).\n", + "- Lleva ua cuenta de los números y las veces que la suma fue mayor a 7 o un número par.\n", + "- Divide el número del paso 2 entre el número de iteraciones(1000)." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "8939d892", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The probability of rolling an even number or greater than 7 is: 67.9%\n" + ] + } + ], + "source": [ + "# TODO\n", + "\n", + "import random\n", + "import numpy as np\n", + "\n", + "def roll_the_dice(n_simulations = 1000):\n", + " count = 0\n", + " \n", + " # Each iteration of the for loop is a trial\n", + " for i in range(n_simulations):\n", + " \n", + " # Roll each dice\n", + " die1 = random.randint(1, 6)\n", + " die2 = random.randint(1, 6)\n", + " \n", + " # Sum the values to get the score\n", + " score = die1 + die2\n", + " \n", + " # Decide if we should add it to the count:\n", + " if (score % 2 == 0) or (score > 7):\n", + " count += 1\n", + "\n", + " # Calculate probability\n", + " return count / n_simulations\n", + "\n", + "print(f\"The probability of rolling an even number or greater than 7 is: {np.round(roll_the_dice() * 100, 2)}%\")" + ] + }, + { + "cell_type": "markdown", + "id": "55732bca", + "metadata": {}, + "source": [ + "## Ejercicio 2\n", + "\n", + "Una caja contiene 10 bolas blancas, 20 bolas rojas y 30 bolas verdes. Si tomamos 5 bolas de la caja reemplazándolas (tomando una bola, anotando el color y luego regresandola a la caja). Queremos saber la probabilidad de:\n", + "\n", + "1. Tomar 3 blancas y 2 rojas.\n", + "2. Toas todas del mismo color.\n", + "\n", + "Ejecuta el experimento 1000 veces y calcula las probabilidades que mencionadas." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "23244d20", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{0: 'White', 1: 'White', 2: 'White', 3: 'White', 4: 'White', 5: 'White', 6: 'White', 7: 'White', 8: 'White', 9: 'White', 10: 'Red', 11: 'Red', 12: 'Red', 13: 'Red', 14: 'Red', 15: 'Red', 16: 'Red', 17: 'Red', 18: 'Red', 19: 'Red', 20: 'Red', 21: 'Red', 22: 'Red', 23: 'Red', 24: 'Red', 25: 'Red', 26: 'Red', 27: 'Red', 28: 'Red', 29: 'Red', 30: 'Green', 31: 'Green', 32: 'Green', 33: 'Green', 34: 'Green', 35: 'Green', 36: 'Green', 37: 'Green', 38: 'Green', 39: 'Green', 40: 'Green', 41: 'Green', 42: 'Green', 43: 'Green', 44: 'Green', 45: 'Green', 46: 'Green', 47: 'Green', 48: 'Green', 49: 'Green', 50: 'Green', 51: 'Green', 52: 'Green', 53: 'Green', 54: 'Green', 55: 'Green', 56: 'Green', 57: 'Green', 58: 'Green', 59: 'Green'}\n", + "The probability of 3 white and 2 red is: 0.3%\n", + "The probability of all the same color is: 3.5%\n" + ] + } + ], + "source": [ + "ball_box = {}\n", + "\n", + "# Crea la cajas con las bolas\n", + "for i in range(60):\n", + " if i < 10:\n", + " ball_box[i] = \"White\"\n", + " elif (i > 9) and (i < 30):\n", + " ball_box[i] = \"Red\"\n", + " else:\n", + " ball_box[i] = \"Green\"\n", + "\n", + "print(ball_box)\n", + " \n", + "# TODO\n", + "\n", + "def take_balls(n_simulations = 1000):\n", + " count_1 = 0\n", + " count_2 = 0\n", + "\n", + " for i in range(n_simulations):\n", + " colors = []\n", + "\n", + " # Take 5 balls from the box\n", + " for i in range(5):\n", + " colors.append(ball_box[np.random.randint(0, 59)])\n", + "\n", + " # Convert list to Numpy array for better filtering\n", + " colors = np.array(colors)\n", + " \n", + " white_balls = sum(colors == \"White\")\n", + " red_balls = sum(colors == \"Red\")\n", + " green_balls = sum(colors == \"Green\")\n", + "\n", + " # Decide if we should add it to the count:\n", + " if (white_balls == 3) and (red_balls == 2):\n", + " count_1 += 1\n", + " \n", + " if (white_balls == 5) or (red_balls == 5) or (green_balls == 5):\n", + " count_2 += 1\n", + " \n", + " return count_1 / n_simulations, count_2 / n_simulations\n", + "\n", + "probabilities = take_balls(1000)\n", + "\n", + "print(f\"The probability of 3 white and 2 red is: {np.round(probabilities[0] * 100, 2)}%\")\n", + "print(f\"The probability of all the same color is: {np.round(probabilities[1] * 100, 2)}%\")" + ] + } + ], + "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.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}