Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
171 changes: 170 additions & 1 deletion notebook/problems.es.ipynb
Original file line number Diff line number Diff line change
@@ -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
}