From 128d2002c5923b27e038fc71564ee4539553c41d Mon Sep 17 00:00:00 2001 From: Brais Moure Date: Mon, 30 Oct 2023 21:36:56 +0100 Subject: [PATCH] =?UTF-8?q?Correcci=C3=B3n=20Reto=20#42?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 5 +-- .../python/mouredev.py" | 36 +++++++++++++++++++ .../ejercicio.md" | 27 ++++++++++++++ 3 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 "Retos/Reto #42 - PUNTO DE ENCUENTRO [Dif\303\255cil]/python/mouredev.py" create mode 100644 "Retos/Reto #43 - SIMULADOR DE CLIMA [F\303\241cil]/ejercicio.md" diff --git a/README.md b/README.md index f15526bdba..1724ca2b0a 100644 --- a/README.md +++ b/README.md @@ -59,9 +59,10 @@ Aquí encontrarás el listado de retos, su fecha de publicación, dificultad y e * **#39** - 02/10/23 | Media | [`TRIPLES PITAGÓRICOS`](./Retos/Reto%20%2339%20-%20TRIPLES%20PITAGÓRICOS%20%5BMedia%5D/ejercicio.md) | Correcciones: [[MI SOLUCIÓN](./Retos/Reto%20%2339%20-%20TRIPLES%20PITAGÓRICOS%20%5BMedia%5D/python/mouredev.py)] [[COMUNIDAD](./Retos/Reto%20%2339%20-%20TRIPLES%20PITAGÓRICOS%20%5BMedia%5D/)] * **#40** - 09/10/23 | Fácil | [`TABLA DE MULTIPLICAR`](./Retos/Reto%20%2340%20-%20TABLA%20DE%20MULTIPLICAR%20%5BFácil%5D/ejercicio.md) | Correcciones: [[MI SOLUCIÓN](./Retos/Reto%20%2340%20-%20TABLA%20DE%20MULTIPLICAR%20%5BFácil%5D/python/mouredev.py)] [[COMUNIDAD](./Retos/Reto%20%2340%20-%20TABLA%20DE%20MULTIPLICAR%20%5BFácil%5D/)] * **#41** - 16/10/23 | Difícil | [`LA CASA ENCANTADA`](./Retos/Reto%20%2341%20-%20LA%20CASA%20ENCANTADA%20%5BDifícil%5D/ejercicio.md) | Correcciones: [[MI SOLUCIÓN](./Retos/Reto%20%2341%20-%20LA%20CASA%20ENCANTADA%20%5BDifícil%5D/python/mouredev.py)] [[COMUNIDAD](./Retos/Reto%20%2341%20-%20LA%20CASA%20ENCANTADA%20%5BDifícil%5D/)] -* **#42** - 23/10/23 | Media | [`PUNTO DE ENCUENTRO`](./Retos/Reto%20%2342%20-%20PUNTO%20DE%20ENCUENTRO%20%5BDifícil%5D/ejercicio.md) | Último reto publicado +* **#42** - 23/10/23 | Difícil | [`PUNTO DE ENCUENTRO`](./Retos/Reto%20%2342%20-%20PUNTO%20DE%20ENCUENTRO%20%5BDifícil%5D/ejercicio.md) Correcciones: [[MI SOLUCIÓN](./Retos/Reto%20%2342%20-%20PUNTO%20DE%20ENCUENTRO%20%5BDifícil%5D/python/mouredev.py)] [[COMUNIDAD](./Retos/Reto%20%2342%20-%20PUNTO%20DE%20ENCUENTRO%20%5BDifícil%5D/)] +* **#43** - 30/10/23 | Fácil | [`SIMULADOR DE CLIMA`](./Retos/Reto%20%2343%20-%20SIMULADOR%20DE%20CLIMA%20%5BFácil%5D/ejercicio.md) | Último reto publicado -> **Corrección y Publicación próximo reto - 30/10/23 | [🗓️ Horario evento corrección en directo](https://discord.gg/mouredev?event=1165944540453150741) en [Twitch](https://twitch.tv/mouredev)** +> **Corrección y Publicación próximo reto - 13/11/23 | [🗓️ Horario evento corrección en directo](https://discord.gg/mouredev?event=1165944540453150741) en [Twitch](https://twitch.tv/mouredev)** *Puedes ejecutar el archivo [language_stats.py](./Retos/language_stats.py) para visualizar las estadísticas de uso de cada lenguaje.* diff --git "a/Retos/Reto #42 - PUNTO DE ENCUENTRO [Dif\303\255cil]/python/mouredev.py" "b/Retos/Reto #42 - PUNTO DE ENCUENTRO [Dif\303\255cil]/python/mouredev.py" new file mode 100644 index 0000000000..ab3b72a31d --- /dev/null +++ "b/Retos/Reto #42 - PUNTO DE ENCUENTRO [Dif\303\255cil]/python/mouredev.py" @@ -0,0 +1,36 @@ +def collision(position_a, speed_a, position_b, speed_b): + + xa, ya = position_a + xb, yb = position_b + sxa, sya = speed_a + sxb, syb = speed_b + + if sxa - sxb == 0: + if xa == xb: + tx = 0 + else: + return "Los objetos no se encontrarán." + else: + tx = (xb - xa) / (sxa - sxb) + + if sya - syb == 0: + if ya == yb: + ty = 0 + else: + return "Los objetos no se encontrarán." + else: + ty = (yb - ya) / (sya - syb) + + if tx == ty: + t = tx + x = xa + sxa * tx + y = ya + sya * ty + return f"Los objetos colisionan en el punto ({x}, {y}) en un tiempo {t}." + else: + return "Los objetos no se encontrarán." + +print(collision((0, 0), (1, 1), (1, 2), (0, 1))) + +print(collision((2, 0), (0, 1), (0, 2), (1, 0))) + +print(collision((0, 0), (10, 5), (100, 50), (-5, -2.5))) \ No newline at end of file diff --git "a/Retos/Reto #43 - SIMULADOR DE CLIMA [F\303\241cil]/ejercicio.md" "b/Retos/Reto #43 - SIMULADOR DE CLIMA [F\303\241cil]/ejercicio.md" new file mode 100644 index 0000000000..361ad3e087 --- /dev/null +++ "b/Retos/Reto #43 - SIMULADOR DE CLIMA [F\303\241cil]/ejercicio.md" @@ -0,0 +1,27 @@ +# Reto #43: Simulador de clima +#### Dificultad: Fácil | Publicación: 30/10/23 | Corrección: 13/11/23 + +## Enunciado + +``` +/* + * Crea una función que simule las condiciones climáticas (temperatura y probabilidad de lluvia) + * de un lugar ficticio al pasar un número concreto de días según estas reglas: + * - La temperatura inicial y el % de probabilidad de lluvia lo define el usuario. + * - Cada día que pasa: + * - 10% de posibilidades de que la temperatura aumente o disminuya 2 grados. + * - Si la temperatura supera los 25 grados, la probabilidad de lluvia al día + * siguiente aumenta en un 20%. + * - Si la temperatura baja de 5 grados, la probabilidad de lluvia al día + * siguiente disminuya en un 20%. + * - Si llueve (100%), la temperatura del día siguiente disminuye en 1 grado. + * - La función recibe el número de días de la predicción y muestra la temperatura + * y si llueve durante todos esos días. + * - También mostrará la temperatura máxima y mínima de ese periodo y cuántos días va a llover. + */ +``` +#### Tienes toda la información extendida sobre los retos de programación semanales en **[retosdeprogramacion.com/semanales2023](https://retosdeprogramacion.com/semanales2023)**. + +Sigue las **[instrucciones](../../README.md)**, consulta las correcciones y aporta la tuya propia utilizando el lenguaje de programación que quieras. + +> Recuerda que cada semana se publica un nuevo ejercicio y se corrige el de la semana anterior en directo desde **[Twitch](https://twitch.tv/mouredev)**. Tienes el horario en la sección "eventos" del servidor de **[Discord](https://discord.gg/mouredev)**. \ No newline at end of file