Simulación de una moneda

🐍 Bienvenidos a Python

Python es un lenguaje de programación sencillo, legible y muy usado en ciencia de datos, automatización e inteligencia artificial.

En esta primera clase lo usaremos para representar un experimento aleatorio muy simple:

  • lanzar una moneda
  • observar resultados
  • repetir el experimento muchas veces

🎯 Objetivo de la clase

Al finalizar esta clase, el estudiante deberá poder:

  • escribir instrucciones básicas en Python
  • guardar resultados en variables
  • trabajar con listas
  • repetir procesos con un ciclo for
  • simular lanzamientos de moneda
  • contar resultados y calcular frecuencias

💻 Primer programa en Python

print("Hola, mundo")
print("Bienvenidos a Python")

print() permite mostrar información en pantalla.

Es una de las primeras funciones que usamos para verificar que nuestro programa está funcionando.

📦 Variables

Una variable permite guardar información para usarla después.

nombre = "Ana"
edad = 19
probabilidad = 0.5

print(nombre)
print(edad)
print(probabilidad)

Cada variable almacena un valor.

✏️ Operaciones básicas

Python también permite hacer operaciones matemáticas.

a = 10
b = 4

print(a + b)
print(a - b)
print(a * b)
print(a / b)
print(a ** 2)

Estas operaciones serán útiles más adelante cuando calculemos proporciones y frecuencias.

📋 Listas

Una lista permite almacenar varios valores en un mismo objeto.

resultados = ["cara", "sello", "cara"]
print(resultados)

Las listas serán importantes porque allí podemos guardar los resultados de varios lanzamientos.

🔎 Acceder a elementos de una lista

Cada elemento de una lista tiene una posición.

resultados = ["cara", "sello", "cara"]

print(resultados[0])
print(resultados[1])
print(resultados[2])

En Python, la primera posición es 0, no 1.

➕ Agregar elementos a una lista

Podemos empezar con una lista vacía y agregar resultados uno por uno.

resultados = []

resultados.append("cara")
resultados.append("sello")
resultados.append("cara")

print(resultados)

La instrucción .append() agrega un nuevo elemento al final de la lista.

🔁 Repetición con for

Muchas veces necesitamos repetir una misma instrucción varias veces.

for i in range(5):
    print("Lanzamiento", i)

range(5) genera 5 repeticiones.

🔁 Repetición con for y lista

También podemos usar un ciclo para construir una lista.

numeros = []

for i in range(5):
    numeros.append(i)

print(numeros)

Este patrón será clave para simular varios experimentos.

🎲 Experimento aleatorio

Un experimento aleatorio es aquel cuyo resultado no se puede predecir con certeza antes de realizarlo.

Ejemplos:

  • lanzar una moneda
  • lanzar un dado
  • escoger una carta al azar

En esta clase trabajaremos con el caso más simple: una moneda.

🪙 Espacio muestral de una moneda

Para una moneda, los posibles resultados son:

\[ S = \{\text{cara}, \text{sello}\} \]

Queremos usar Python para simular este experimento.

🎰 Aleatoriedad en Python

Python tiene herramientas para generar resultados aleatorios.

import random

resultado = random.choice(["cara", "sello"])
print(resultado)
  • import random carga funciones de aleatoriedad
  • random.choice(...) escoge un elemento al azar de una lista

🪙 Un lanzamiento de moneda

Así podemos representar un solo lanzamiento:

import random

lanzamiento = random.choice(["cara", "sello"])
print("Resultado:", lanzamiento)

Cada vez que se ejecute, puede cambiar el resultado.

🔁 Varios lanzamientos

Ahora repetimos el experimento varias veces.

import random

for i in range(10):
    lanzamiento = random.choice(["cara", "sello"])
    print(lanzamiento)

Aquí no estamos guardando aún los resultados, solo observándolos.

📋 Guardar varios lanzamientos

Si queremos analizar los resultados, conviene guardarlos en una lista.

import random

resultados = []

for i in range(10):
    lanzamiento = random.choice(["cara", "sello"])
    resultados.append(lanzamiento)

print(resultados)

Ahora sí tenemos todos los resultados reunidos en una sola estructura.

🔢 Contar resultados

Podemos contar cuántas veces apareció "cara" o "sello".

resultados = ["cara", "sello", "cara", "cara", "sello"]

print(resultados.count("cara"))
print(resultados.count("sello"))

La función .count() cuenta cuántas veces aparece un valor en la lista.

📊 Frecuencia relativa

La frecuencia relativa se calcula como:

[ = ]

En Python:

caras = 6
total = 10

frecuencia = caras / total
print(frecuencia)

Simulación completa básica

import random

n = 10 # aumentar n
resultados = []

for i in range(n):
    lanzamiento = random.choice(["cara", "sello"])
    resultados.append(lanzamiento)

caras = resultados.count("cara")
frecuencia_relativa = caras / n

print("Resultados:", resultados)
print("Número de caras:", caras)
print("Frecuencia relativa de cara:", frecuencia_relativa)