English • 繁體中文 • 简体中文 • 日本語 • Español • Français • Italiano • Deutsche • Русский
Bienvenido a Digits Solver, el compañero definitivo en Python para conquistar el desafiante juego de rompecabezas Digits, desarrollado por The New York Times. Sumérgete en un cautivador mundo de desafíos numéricos y domina el arte de la manipulación estratégica. Con Digits Solver, manipularás estratégicamente un conjunto de dígitos iniciales utilizando operaciones matemáticas para alcanzar el esquivo dígito objetivo. Su potente algoritmo y análisis meticuloso te permiten desentrañar rápidamente cada rompecabezas, ofreciendo soluciones paso a paso con una precisión inquebrantable. Mejora tus habilidades para resolver rompecabezas y descubre los secretos ocultos entre los dígitos. ¡Prepárate para un emocionante viaje para convertirte en un maestro de Digits!
Observa el algoritmo en acción haciendo
clic en el botón verde de ejecución después de ser redirigido:
También puedes ver esta ejecución rápida que utiliza
el algoritmo Digits Solver:
Nota: La demostración muestra la función solve_auto. Continúa leyendo para obtener más información.
- Instalación
- Uso
- Ejemplos
- Uso Alternativo
- Módulos Utilitarios
- Contribuciones
- Licencia
- Agradecimientos
Puedes obtener una copia del programa Digits Solver utilizando uno de los siguientes métodos:
-
Clonar el Repositorio:
git clone https://github.com/yuchuehw/DigitsSolver.git
-
Descargar el Archivo Zip:
- Ve a la pestaña Release en el repositorio de GitHub.
- Descarga el archivo zip de la última versión.
- Extrae el contenido del archivo zip en la ubicación deseada.
Después de obtener el programa, puedes proceder a la sección de Uso para ejecutar el programa Digits Solver.
Para ejecutar el programa Digits Solver, abre la terminal y navega hasta el directorio donde has descargado o clonado el repositorio DigitsSolver. Una vez que te encuentres en el directorio adecuado, ejecuta el siguiente comando en la terminal (reemplaza los valores entre corchetes por tu entrada; consulta la sección de Ejemplos para obtener más detalles):
python solver <dígitos_iniciales> <dígito_objetivo> [-os] [-h]
<dígitos_iniciales>
: Una lista de enteros separados por espacios que representan los dígitos iniciales.<dígito_objetivo>
: El dígito objetivo que se debe obtener.-os
o--onesolution
(opcional): Si se especifica, el programa encontrará solo una solución. De lo contrario, encontrará todas las soluciones posibles.-h
o--help
(opcional): Si se usa, se mostrará el menú de ayuda.
-
Encontrar todas las soluciones para el rompecabezas de dígitos:
python solver 3 12 15 20 23 25 439
-
Encontrar solo una solución para el rompecabezas de dígitos:
python solver 3 12 15 20 23 25 439 -os
-
Observa que
los dígitos_iniciales
siempre van antes de los dígitos_objetivo
. Este es un ejemplo de un rompecabezas con 8 dígitos_iniciales
:
python solver 2 3 5 7 11 13 17 19 323 -os
El programa mostrará el número de soluciones encontradas y mostrará cada solución en el siguiente formato:
Solución encontrada:
15 + 3 = 18
23 × 18 = 414
414 + 25 = 439
Encontramos 1 solución(es)
El Digits Solver también se puede importar como un módulo de Python y utilizar programáticamente. Eres libre de agregar más funcionalidades de las que hemos proporcionado. Aquí tienes un ejemplo mínimo de cómo utilizarlo como una importación:
from solver.solver import DigitSolver
solver = DigitSolver([3, 12, 15, 20, 23, 25], 439)
# False en el paréntesis es opcional. False resuelve todas las soluciones. True resuelve una solución.
# usa solve.printer = alguna_función para reemplazar el comportamiento de salida predeterminado.
cantidad_soluciones = solver.solve(False)
print(f"Encontramos {cantidad_soluciones} solución(es)")
También hemos incluido algunos programas adicionales en Python que complementan el programa del solucionador. Se encuentran dentro de la carpeta solver/util
. Puedes leer más sobre cómo utilizarlos aquí:
- Cómo utilizar pretty_solve.py: Proporciona una versión visualmente mejorada del programa del solucionador.
- Cómo utilizar solve_auto.py: Solucionador automático completo de Digits con Selenium
Siéntete libre de explorar estos archivos y utilizarlos para casos de uso o escenarios específicos.
La carpeta de Apéndice incluye 450 problemas utilizados en los juegos de NYT. Siéntete libre de usar esos problemas para las pruebas del programa.
¡Las contribuciones al programa Digits Solver son bienvenidas! Si encuentras algún problema o tienes sugerencias para mejoras, por favor, abre un issue o envía una pull request en el repositorio de GitHub.
Cuando contribuyas, asegúrate de seguir las mejores prácticas, mantener la calidad del código y proporcionar descripciones claras de tus cambios.
El programa Digits Solver tiene licencia bajo la Licencia MIT. Eres libre de usar, modificar y distribuir este programa para fines personales o comerciales. Consulta el archivo LICENSE para obtener más detalles.
Agradecimientos especiales al autor de timeshift.js por su contribución a este proyecto. Se han utilizado partes de su código en la implementación del módulo solver.util
.