Skip to content

Commit

Permalink
Corrección Reto mouredev#15
Browse files Browse the repository at this point in the history
  • Loading branch information
mouredev committed Apr 17, 2023
1 parent 35259c0 commit 8b3d8c5
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 3 deletions.
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,11 @@ Aquí encontrarás el listado de retos, su fecha de publicación, dificultad y e
* **#11** - 13/03/23 | Fácil | [`URL PARAMS`](./Retos/Reto%20%2311%20-%20URL%20PARAMS%20%5BFácil%5D/ejercicio.md) | Correcciones: [[EN VÍDEO](https://youtu.be/hUX46tEpc2A)] [[MI SOLUCIÓN](./Retos/Reto%20%2311%20-%20URL%20PARAMS%20%5BFácil%5D/python/mouredev.py)] [[COMUNIDAD](./Retos/Reto%20%2311%20-%20URL%20PARAMS%20%5BFácil%5D/)]
* **#12** - 20/03/23 | Fácil | [`VIERNES 13`](./Retos/Reto%20%2312%20-%20VIERNES%2013%20%5BFácil%5D/ejercicio.md) | Correcciones: [[EN VÍDEO](https://youtu.be/UBDO-z5rYfg)] [[MI SOLUCIÓN](./Retos/Reto%20%2312%20-%20VIERNES%2013%20%5BFácil%5D/python/mouredev.py)] [[COMUNIDAD](./Retos/Reto%20%2312%20-%20VIERNES%2013%20%5BFácil%5D/)]
* **#13** - 27/03/23 | Media | [`ADIVINA LA PALABRA`](./Retos/Reto%20%2313%20-%20ADIVINA%20LA%20PALABRA%20%5BMedia%5D/ejercicio.md) | Correcciones: [[EN VÍDEO](https://youtu.be/t5UHiXcYD8Y)] [[MI SOLUCIÓN](./Retos/Reto%20%2313%20-%20ADIVINA%20LA%20PALABRA%20%5BMedia%5D/python/mouredev.py)] [[COMUNIDAD](./Retos/Reto%20%2313%20-%20ADIVINA%20LA%20PALABRA%20%5BMedia%5D/)]
* **#14** - 03/04/23 | Fácil | [`OCTAL Y HEXADECIMAL`](./Retos/Reto%20%2314%20-%20OCTAL%20Y%20HEXADECIMAL%20%5BFácil%5D/ejercicio.md) | Correcciones: [[MI SOLUCIÓN](./Retos/Reto%20%2314%20-%20OCTAL%20Y%20HEXADECIMAL%20%5BFácil%5D/python/mouredev.py)] [[COMUNIDAD](./Retos/Reto%20%2314%20-%20OCTAL%20Y%20HEXADECIMAL%20%5BFácil%5D/)]
* **#15** - 10/04/23 | Fácil | [`AUREBESH`](./Retos/Reto%20%2315%20-%20AUREBESH%20%5BFácil%5D/ejercicio.md) | Último reto publicado
* **#14** - 03/04/23 | Fácil | [`OCTAL Y HEXADECIMAL`](./Retos/Reto%20%2314%20-%20OCTAL%20Y%20HEXADECIMAL%20%5BFácil%5D/ejercicio.md) | Correcciones: [[EN VÍDEO](https://youtu.be/T8qY1nUCHkM)] [[MI SOLUCIÓN](./Retos/Reto%20%2314%20-%20OCTAL%20Y%20HEXADECIMAL%20%5BFácil%5D/python/mouredev.py)] [[COMUNIDAD](./Retos/Reto%20%2314%20-%20OCTAL%20Y%20HEXADECIMAL%20%5BFácil%5D/)]
* **#15** - 10/04/23 | Fácil | [`AUREBESH`](./Retos/Reto%20%2315%20-%20AUREBESH%20%5BFácil%5D/ejercicio.md) | Correcciones: [[MI SOLUCIÓN](./Retos/Reto%20%2315%20-%20AUREBESH%20%5BFácil%5D/python/mouredev.py)] [[COMUNIDAD](./Retos/Reto%20%2315%20-%20AUREBESH%20%5BFácil%5D/)]
* **#16** - 10/04/23 | Media | [`LA ESCALERA`](./Retos/Reto%20%2316%20-%20LA%20ESCALERA%20%5BMedia%5D/ejercicio.md) | Último reto publicado

> **Corrección y Publicación próximo reto - 17/04/23 | [🗓️ Horario evento corrección en directo](https://discord.gg/mouredev?event=1094856908109795371) en [Twitch](https://twitch.tv/mouredev)**
> **Corrección y Publicación próximo reto - 24/04/23 | [🗓️ Horario evento corrección en directo](https://discord.gg/mouredev?event=1097558343821840384) 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.*

Expand Down
55 changes: 55 additions & 0 deletions Retos/Reto #15 - AUREBESH [Fácil]/python/mouredev.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
from unidecode import unidecode

def basic_aurebesh_tranlator(text: str, aurebesh: bool) -> str:

basic_alphabet = {
"a": "aurek", "b": "besh", "c": "cresh", "d": "dorn", "e": "esk", "f": "forn", "g": "grek", "h": "herf",
"i": "isk", "j": "jenth", "k": "krill", "l": "leth", "m": "merm", "n": "nern", "o": "osk", "p": "peth", "q": "qek",
"r": "resh", "s": "senth", "t": "trill", "u": "usk", "v": "vev", "w": "wesk", "x": "xesh", "y": "yirt", "z": "zerek",
"ae": "enth", "eo": "onith", "kh": "krenth", "ng": "nen", "oo": "orenth", "sh": "sen", "th": "thesh"}

aurebesh_alphabet = dict()
for key, value in basic_alphabet.items():
aurebesh_alphabet[value] = key

unidecode_text = unidecode(text.lower().replace("ñ", "[?]")).replace("[?]", "ñ")
translated_text = ""

if aurebesh:

translated_text = text

for key, value in aurebesh_alphabet.items():
translated_text = translated_text.replace(key, value)

else:

character_index = 0
text_len = len(text)

while character_index < text_len:

simple_character = unidecode_text[character_index]
double_character = ""

if character_index < text_len - 1:
double_character = simple_character + unidecode_text[character_index + 1]

if double_character in basic_alphabet:
translated_text += basic_alphabet[double_character]
character_index += 2
else:
translated_text += basic_alphabet[simple_character] if simple_character in basic_alphabet else simple_character
character_index += 1

return translated_text

aurebesh = basic_aurebesh_tranlator("The MoureDev", False)
print(aurebesh)
basic = basic_aurebesh_tranlator(aurebesh, True)
print(basic)

aurebesh = basic_aurebesh_tranlator("Qué te ha parecido el reto? A mí me ha gustado mucho! Mañana sigue practicando.", False)
print(aurebesh)
basic = basic_aurebesh_tranlator(aurebesh, True)
print(basic)
26 changes: 26 additions & 0 deletions Retos/Reto #16 - LA ESCALERA [Media]/ejercicio.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Reto #15: La escalera
#### Dificultad: Media | Publicación: 17/04/23 | Corrección: 24/04/23

## Enunciado

```
/*
* Crea una función que dibuje una escalera según su número de escalones.
* - Si el número es positivo, será ascendente de izquiera a derecha.
* - Si el número es negativo, será descendente de izquiera a derecha.
* - Si el número es cero, se dibujarán dos guiones bajos (__).
*
* Ejemplo: 4
* _
* _|
* _|
* _|
* _|
*
*/
```
#### 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)**.

0 comments on commit 8b3d8c5

Please sign in to comment.