Sports Analytics con Python: Comparando los partidos con mayor y menor actividad ofensiva del Mundial FIFA 2026

Imagen
¿Qué hace realmente emocionante a un partido de fútbol? Cuando hablamos de un gran partido solemos pensar inmediatamente en muchos goles. Sin embargo, en Sports Analytics la producción ofensiva puede analizarse desde una perspectiva mucho más amplia utilizando estadísticas avanzadas. En este proyecto desarrollé un Match Excitement Score (MES) , un índice que resume la actividad ofensiva de cada encuentro del Mundial FIFA 2026 mediante una combinación de métricas tradicionales y avanzadas. Todo el análisis fue realizado en Python utilizando Pandas y Matplotlib, compartiendo además el notebook completo para que cualquier persona pueda reproducir los resultados. ¿Cómo se construyó el Match Excitement Score? El índice integra seis variables ofensivas disponibles en el dataset: ⚽ Goles 📈 Expected Goals (xG) 🎯 Total de disparos 🥅 Disparos a puerta 🔥 Big Chances 📍 Toques dentro del área rival Cada variable fue estandarizada mediante Z-score y posteriormente ...

Generando Imágenes y Mensajes Aleatorios con JavaScript y Picsum Photos

 


Introducción


Si estás empezando con JavaScript y quieres practicar la manipulación del DOM, eventos y API externas, este proyecto es perfecto para ti. Vamos a crear una página web que muestre imágenes aleatorias usando Picsum Photos y frases temáticas para el 14 de febrero. 



En este artículo, explicaremos paso a paso cómo funciona el código y cómo puedes adaptarlo para otros proyectos.


Código Completo


Aquí está el código HTML y JavaScript que vamos a analizar:


<!DOCTYPE html>

<html lang="es">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Mensajes y Fotos Aleatorias para San Valentín</title>

    <meta name="description" content="Disfruta de imágenes aleatorias y frases románticas para el Día del Amor y la Amistad. Celebra el 14 de febrero con mensajes especiales y comparte el amor.">

    <style>

        body {

            text-align: center;

            font-family: Arial, sans-serif;

            background-color: #ffe6e6;

        }

        img {

            width: 400px;

            height: 300px;

            border-radius: 10px;

            margin-top: 20px;

        }

        #texto {

            margin-top: 20px;

            font-size: 20px;

            font-weight: bold;

            color: #d63384;

        }

        button {

            margin-top: 20px;

            padding: 10px 20px;

            font-size: 16px;

            cursor: pointer;

            background-color: #ff4d6d;

            color: white;

            border: none;

            border-radius: 5px;

        }

        button:hover {

            background-color: #e63950;

        }

    </style>

</head>

<body>

    <h1>💖 Feliz 14 de Febrero 💖</h1>

    <img id="imagen" src="https://picsum.photos/400/300" alt="Imagen aleatoria">

    <div id="texto"></div>

    <button onclick="cambiarImagenYTexto()">💘 Nuevo mensaje 💘</button>


    <script>

        function cambiarImagenYTexto() {

            // Frases temáticas para el 14 de febrero

            const textos = [

                "El amor se celebra todos los días, pero hoy con más 💕",

                "La amistad un regalo que dura para siempre. ¡Feliz San Valentín! 🎁",

                "Hoy es un buen día para recordar a la gente que quieres ❤️",

                "Un abrazo, un beso y una sonrisa... ¡Feliz valentin! 😘",

                "No hay amor más sincero que aquel que es sincero 💗"

            ];


            // Selecciona un mensaje aleatorio

            const textoAleatorio = textos[Math.floor(Math.random() * textos.length)];


            // Muestra el mensaje correctamente en la página

            document.getElementById("texto").innerHTML = textoAleatorio;


            // Cambia la imagen aleatoria de Picsum

            document.getElementById("imagen").src = `https://picsum.photos/400/300?t=${new Date().getTime()}`;

        }


        // Llamar la función al cargar la página

        cambiarImagenYTexto();

    </script>

</body>

</html>



Explicación del Código


1. HTML: Estructura de la Página


El documento HTML define la estructura de la página. Contiene:



Un título en <h1> con un mensaje especial.


Una imagen aleatoria cargada desde Picsum Photos.


Un div para mostrar el mensaje aleatorio.


Un botón que permite actualizar la imagen y el mensaje.




2. CSS: Estilos Básicos


El código CSS personaliza la apariencia de la página con:



Fondo rosado para dar un estilo romántico.


Botón estilizado con un color llamativo y efecto hover.


Texto en color rosa oscuro para destacar el mensaje.




3. JavaScript: Lógica de la Página


Función cambiarImagenYTexto()


Esta función se encarga de cambiar la imagen y el texto cuando se presiona el botón.




Seleccionamos un mensaje aleatorio


const textos = [

    "El amor se celebra todos los días, pero hoy con más razón. 💕",

    "La amistad es un regalo  dura para siempre. ¡Feliz San Valentín! 🎁",

    "Hoy es un buen día para recordarte el amor.❤️",

    "Un abrazo, un beso y una sonrisa... ¡Feliz Valentin day! 😘",

    "No hay amor más sincero que aquel que se comparte. 💗"

];

const textoAleatorio = textos[Math.floor(Math.random() * textos.length)];




Se crea un array con frases temáticas.


Se elige un mensaje aleatorio con Math.random().







Mostramos el mensaje en el div #texto


document.getElementById("texto").innerHTML = textoAleatorio;




Se usa innerHTML para mostrarlo correctamente sin errores con signos de exclamación.







Cambiamos la imagen aleatoria


document.getElementById("imagen").src = `https://picsum.photos/400/300?t=${new Date().getTime()}`;




La URL https://picsum.photos/400/300 carga una imagen aleatoria.


Se agrega ?t=${new Date().getTime()} para evitar que el navegador use la misma imagen en caché.







Ejecutamos la función al cargar la página


cambiarImagenYTexto();




Esto hace que la página cargue con una imagen y un mensaje desde el inicio.








Cómo Personalizarlo


Puedes adaptar este código para diferentes eventos, cambiando:

✅ Las frases para otro tema como motivación o chistes.

✅ Los colores en CSS para ajustarlo a otra festividad.

✅ El tamaño de las imágenes en la URL de Picsum Photos.


Conclusión


Este proyecto es una forma sencilla pero efectiva de practicar JavaScript. Aprendiste a manipular el DOM, generar valores aleatorios y trabajar con una API externa.

Prueba nuestra página en la siguiente url

https://www.programacionparatodos.com/p/mensajes-y-fotos-aleatorias-para-san.html




¡Anímate a modificarlo y compartir tu version!



Comentarios

🚀 Mantener este blog funcionando requiere tiempo y café. ¡Puedes contribuir con uno aquí!

Entradas más populares de este blog

Guía Práctica: Ejemplo Completo de ASPX para Desarrolladores Web

👉 Cómo obtener el tipo de cambio en Excel con API de Banxico (paso a paso)

Macro en Word para automatizar documentos: genera diplomas en segundos (con código VBA)