From 093ad5df0f9cde064e437843ad740bb74d027093 Mon Sep 17 00:00:00 2001 From: Brais Moure Date: Mon, 26 Jun 2023 21:27:37 +0200 Subject: [PATCH] =?UTF-8?q?Correcci=C3=B3n=20Reto=20#25?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 9 ++-- .../python/mouredev.py" | 41 +++++++++++++++++++ Retos/Reto #26 - TESTING [Media]/ejercicio.md | 21 ++++++++++ 3 files changed, 67 insertions(+), 4 deletions(-) create mode 100644 "Retos/Reto #25 - EL C\303\223DIGO KONAMI [Media]/python/mouredev.py" create mode 100644 Retos/Reto #26 - TESTING [Media]/ejercicio.md diff --git a/README.md b/README.md index 78b002e7d5..0f58654a16 100644 --- a/README.md +++ b/README.md @@ -40,11 +40,12 @@ Aquí encontrarás el listado de retos, su fecha de publicación, dificultad y e * **#20** - 15/05/23 | Media | [`LA TRIFUERZA`](./Retos/Reto%20%2320%20-%20LA%20TRIFUERZA%20%5BMedia%5D/ejercicio.md) | Correcciones: [[MI SOLUCIÓN](./Retos/Reto%20%2320%20-%20LA%20TRIFUERZA%20%5BMedia%5D/python/mouredev.py)] [[COMUNIDAD](./Retos/Reto%20%2320%20-%20LA%20TRIFUERZA%20%5BMedia%5D/)] * **#21** - 22/05/23 | Media | [`NÚMEROS PRIMOS GEMELOS`](./Retos/Reto%20%2321%20-%20NÚMEROS%20PRIMOS%20GEMELOS%20%5BMedia%5D/ejercicio.md) | Correcciones: [[MI SOLUCIÓN](./Retos/Reto%20%2321%20-%20NÚMEROS%20PRIMOS%20GEMELOS%20%5BMedia%5D/python/mouredev.py)] [[COMUNIDAD](./Retos/Reto%20%2321%20-%20NÚMEROS%20PRIMOS%20GEMELOS%20%5BMedia%5D/)] * **#22** - 29/05/23 | Media | [`LA ESPIRAL`](./Retos/Reto%20%2322%20-%20LA%20ESPIRAL%20%5BMedia%5D/ejercicio.md) | Correcciones: [[MI SOLUCIÓN](./Retos/Reto%20%2322%20-%20LA%20ESPIRAL%20%5BMedia%5D/python/mouredev.py)] [[COMUNIDAD](./Retos/Reto%20%2322%20-%20LA%20ESPIRAL%20%5BMedia%5D/)] -* **#23** - 12/06/23 | Media | [`LA BASE DE DATOS`](./Retos/Reto%20%2323%20-%20LA%20BASE%20DE%20DATOS%20%5BMedia%5D/ejercicio.md) | Correcciones: [[MI SOLUCIÓN](./Retos/Reto%20%2323%20-%20LA%20BASE%20DE%20DATOS%20%5BMedia%5D/python/mouredev.py)] [[COMUNIDAD](./Retos/Reto%20%2323%20-%20LA%20BASE%20DE%20DATOS%20%5BMedia%5D/)] -* **#24** - 19/06/23 | Fácil | [`CIFRADO CÉSAR`](./Retos/Reto%20%2324%20-%20CIFRADO%20CÉSAR%20%5BFácil%5D/ejercicio.md) | Correcciones: [[MI SOLUCIÓN](./Retos/Reto%20%2324%20-%20CIFRADO%20CÉSAR%20%5BFácil%5D/python/mouredev.py)] [[COMUNIDAD](./Retos/Reto%20%2324%20-%20CIFRADO%20CÉSAR%20%5BFácil%5D/)] -* **#25** - 26/06/23 | Media | [`EL CÓDIGO KONAMI`](./Retos/Reto%20%2325%20-%20EL%20CÓDIGO%20KONAMI%20%5BMedia%5D/ejercicio.md) | Último reto publicado +* **#23** - 06/06/23 | Media | [`LA BASE DE DATOS`](./Retos/Reto%20%2323%20-%20LA%20BASE%20DE%20DATOS%20%5BMedia%5D/ejercicio.md) | Correcciones: [[MI SOLUCIÓN](./Retos/Reto%20%2323%20-%20LA%20BASE%20DE%20DATOS%20%5BMedia%5D/python/mouredev.py)] [[COMUNIDAD](./Retos/Reto%20%2323%20-%20LA%20BASE%20DE%20DATOS%20%5BMedia%5D/)] +* **#24** - 12/06/23 | Fácil | [`CIFRADO CÉSAR`](./Retos/Reto%20%2324%20-%20CIFRADO%20CÉSAR%20%5BFácil%5D/ejercicio.md) | Correcciones: [[MI SOLUCIÓN](./Retos/Reto%20%2324%20-%20CIFRADO%20CÉSAR%20%5BFácil%5D/python/mouredev.py)] [[COMUNIDAD](./Retos/Reto%20%2324%20-%20CIFRADO%20CÉSAR%20%5BFácil%5D/)] +* **#25** - 19/06/23 | Media | [`EL CÓDIGO KONAMI`](./Retos/Reto%20%2325%20-%20EL%20CÓDIGO%20KONAMI%20%5BMedia%5D/ejercicio.md) | Correcciones: [[MI SOLUCIÓN](./Retos/Reto%20%2325%20-%20EL%20CÓDIGO%20KONAMI%20%5BMedia%5D/python/mouredev.py)] [[COMUNIDAD](./Retos/Reto%20%2325%20-%20EL%20CÓDIGO%20KONAMI%20%5BMedia%5D/)] +* **#26** - 26/06/23 | Media | [`TESTING`](./Retos/Reto%20%2326%20-%20TESTING%20%5BMedia%5D/ejercicio.md) | Último reto publicado -> **Corrección y Publicación próximo reto - 26/06/23 | [🗓️ Horario evento corrección en directo](https://discord.gg/mouredev?event=1120360919814381670) en [Twitch](https://twitch.tv/mouredev)** +> **Corrección y Publicación próximo reto - 03/07/23 | [🗓️ Horario evento corrección en directo](https://discord.gg/mouredev?event=1122809455004876900) 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 #25 - EL C\303\223DIGO KONAMI [Media]/python/mouredev.py" "b/Retos/Reto #25 - EL C\303\223DIGO KONAMI [Media]/python/mouredev.py" new file mode 100644 index 0000000000..905f9ba58a --- /dev/null +++ "b/Retos/Reto #25 - EL C\303\223DIGO KONAMI [Media]/python/mouredev.py" @@ -0,0 +1,41 @@ +from pynput.keyboard import Key, KeyCode, Listener + +KONAMI_CODE = [ + Key.up, Key.up, Key.down, Key.down, + Key.left, Key.right, Key.left, Key.right, + KeyCode.from_char("b"), KeyCode.from_char("a") +] + +key_position = 0 +last_key = Key.esc + +def on_press(key): + + global key_position, last_key + + if key == Key.esc: + print("Exit") + return False + + if key == KONAMI_CODE[key_position]: + key_position += 1 + elif key == KONAMI_CODE[1] and last_key == KONAMI_CODE[0]: + # Se controla que se escriba varias veces la primera tecla válida + key_position = 2 + else: + key_position = 0 + + if key_position == len(KONAMI_CODE): + print(""" + \n + ╦╔═╔═╗╔╗╔╔═╗╔╦╗╦ ╔═╗╔═╗╔╦╗╔═╗ + ╠╩╗║ ║║║║╠═╣║║║║ ║ ║ ║ ║║║╣ + ╩ ╩╚═╝╝╚╝╩ ╩╩ ╩╩ ╚═╝╚═╝═╩╝╚═╝ + \n + """) + return False + + last_key = key + +with Listener(on_press=on_press) as listener: + listener.join() \ No newline at end of file diff --git a/Retos/Reto #26 - TESTING [Media]/ejercicio.md b/Retos/Reto #26 - TESTING [Media]/ejercicio.md new file mode 100644 index 0000000000..cc88c07663 --- /dev/null +++ b/Retos/Reto #26 - TESTING [Media]/ejercicio.md @@ -0,0 +1,21 @@ +# Reto #26: Testing +#### Dificultad: Media | Publicación: 26/06/23 | Corrección: 03/07/23 + +## Enunciado + +``` +/* + * Crea tres test sobre el reto 12: "Viernes 13". + * - Puedes copiar una solución ya creada por otro usuario en + * el lenguaje que estés utilizando. + * - Debes emplear un mecanismo de ejecución de test que posea + * el lenguaje de programación que hayas seleccionado. + * - Los tres test deben de funcionar y comprobar + * diferentes situaciones (a tu elección). + */ +``` +#### 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