Creemos un algoritmo de compresion ❔ Parece difícil pero es algo que puede hacer casi cualquiera persona.
Crea un algoritmo que dado un string, reemplace las palabras que iguales a las keys del diccionario de símbolos
o symbols
dictionary keys y las reemplaza con sus valores respectivos en el mismo diccionario.
1symbols = { 2 "implementation": "🤯", 3 "practicality": '🤩', 4 "better": '😅', 5 "Although": "🥺" 6}
Por ejemplo:
Although, this is a great implementation of time | → debería conbertirse en → | 🥺, this is a great 🤯 of time |
---|
El actual proyecto tiene 3 archivos:
Name | Description |
---|---|
compress.py | Contiene el algoritmo para comprimir el contenido, tiene una función "comprimir" que recibe el texto en bruto y devuelve la versión comprimida del mismo |
decompress.py | Es muy similar a compress.py pero contiene el algoritmo para volver a convertir el contenido de su versión comprimida al contenido original |
app.py | Este es un archivo de entrada y no es necesario actualizarlo, importa y usa los otros dos archivos |
app.py
y sigue el algoritmo con tu mente, revisa los archivos compress.py y decompress.py para comprender dónde debe implementarse su solución.python3 app.py
y comprende su resultado y por qué.b) Clonar este repositorio localmente en tu computador:
1$ git clone https://github.com/breatheco-de/exercise-compression-algorithm-python.git
1python3 app.py
Deberías obtener una respuesta similar a esta:
1✅No data lost. 2document.txt has 824 size, compressed.txt has 768 size, compression of 7% in 0.0003972053527832031 seconds
Añadiendo más palabras al dicionario de `símbolos, puede conseguir más potencia de compresión.
Intenta volver a hacer el algoritmo para lograr una potencia de compresión superior al 15% sin pérdida de datos sin agregar más palabras.