En esta actividad crearemos un script en Python para encontrar una palabra.
Se pide un código que solicite al usuario la palabra a buscar, el programa debe generar letras aleatorias en la longitud de caracteres de la palabra introducida. La ejecución concluye cuando se encuentra la palabra buscada.
Para obtener las letras del abecedario usaremos el siguiente código
import string
# Abecedario en minúsculas
abcd = string.ascii_lowercase
print(abcd)
En este alfabeto (que es inglés) no tenemos la ñ, debemos tenerlo en cuenta a la hora de pedir la palabra o bien agregar la letra a la cadena. A continuación dejo mi solución:
import string
import random
abcd = string.ascii_lowercase+'ñ'
def word_find(word):
word = word.lower()
k = len(word)
guess = ''
counter = 0
while word != guess:
guess = ''.join(random.choices(abcd, k=k))
counter += 1
print(f'Se ha encontrado la palabra "{word}" en {counter} intentos.')
word = input('Elija una palabra para encontrar:\t')
word_find(word)
El código tiene un error, ¡no está comentado! Hazlo tú como ejercicio: explica las funciones, los métodos, las importaciones... Para ello puedes consultar la documentación oficial o usar otras herramientas como la IA.
¿Cuál era la probabilidad de que el código encontrara tu palabra?
Crea una alternativa en la que se detecte que la palabra pedida solo tiene letras, en caso contrario se debe indicar al usuario que su palabra no es válida.
Modifica el código para hacer un análisis estadístico del número de intentos en una muestra de 100 búsquedas para la misma palabra.
Reflexión: con tiempo suficiente el programa podría obtener todas las palabras de cualquier libro. Con tiempo suficiente me refiero, incluso a un tiempo infinito. Por cierto, si haces alguna mejora o ves algún error, no dudes en comentármelo.
NOTA: el programa tardará más en función de la longitud de la palabra.
Fíjate que el código anterior trata de acertar toda la palabra a la vez; sin embargo, podríamos ir buscando por posiciones, te propongo que lo intentes. A continuación, puedes acceder a este Google Colab en el que comparto algunas alternativas con mejorar para encontrar la palabra.
Según Gemini: Google Colab es una plataforma online gratuita que te permite usar R sin instalar nada en tu computadora. Es ideal para empezar a aprender y experimentar.
Reto: crea el juego del ahorcado (Hangman) en Python (subiré una solución en otro taller).