
Semana 3 · Día 5 — Limita un juego de adivinanza a tres intentos
En 60 minutos crearás un juego de adivinanza con tres intentos, probarás una victoria y una derrota y corregirás un límite que concede un cuarto intento.
Entregable de hoy
Semana 3 — Control de flujo · Día 5
Guarda un único archivo llamado
S3D5_juego_adivinanza.py. Al terminar, el programa debe dar tres intentos como máximo para adivinar la palabra datos y conservar dentro del archivo la salida de dos ejecuciones: una victoria en el segundo intento y una derrota después de tres respuestas incorrectas.La primera prueba debe terminar así:
Intento 1 de 3
Escribe la palabra secreta: modelo
Intento 2 de 3
Escribe la palabra secreta: datos
Ganaste en 2 intento(s).La segunda debe consumir el límite completo:
Intento 1 de 3
Escribe la palabra secreta: modelo
Intento 2 de 3
Escribe la palabra secreta: agente
Intento 3 de 3
Escribe la palabra secreta: python
Perdiste. La palabra era: datosEl juego tiene dos salidas
La condición central será:
while respuesta != palabra_secreta and intentos < limite:El bucle continúa solo cuando se cumplen las dos partes: la respuesta aún es incorrecta y el contador sigue por debajo del límite. Después de cada vuelta, Python vuelve a evaluar la condición; si una parte ya es falsa, el
while termina. 1Eso permite dos finales distintos. Si
respuesta se vuelve igual a palabra_secreta, hay victoria. Si intentos llega a 3 sin acierto, intentos < limite pasa a ser falso y hay derrota. El if situado después del bucle comprueba cuál ocurrió.input() devuelve una cadena, por eso hoy puedes comparar directamente palabras como modelo y datos; no necesitas int(), números aleatorios ni manejo de errores. 2Recursos
- Learn Python - Full Course for Beginners [Tutorial] — mira
Building a Guessing Game, de2:20:21a2:32:44. El capítulo combina una respuesta secreta, un contador, un límite y dos finales posibles. 3 - 8.2. La sentencia while — documentación de Python 3.14.7 — úsala para comprobar por qué la condición se prueba de nuevo tras cada intento.
- input() — Funciones incorporadas — documentación de Python 3.14.7 — confirma que la respuesta recibida es texto.
Sesión de 60 minutos
00:00–10:00 · 10 min de repaso
- Abre
S3D3_bucles.pyy localiza elwhilede la cuenta descendente. - Escribe qué parte cambiaba en cada vuelta y qué condición hacía terminar ese bucle.
- Sin programar todavía, completa estas dos frases:
- El juego debe seguir mientras la respuesta sea incorrecta y ________.
- El juego debe parar cuando la respuesta sea correcta o ________.
- Comprueba tus respuestas:
queden intentosyse alcancen tres intentos.
10:00–30:00 · 20 min de curso o video
En Learn Python - Full Course for Beginners [Tutorial], mira
Building a Guessing Game de 2:20:21 a 2:32:44. Detente cuando empiece For Loops.Mientras miras, anota el papel de estas cuatro piezas:
- el valor secreto;
- la respuesta del jugador;
- el contador y su límite;
- la condición del
while.
Usa los minutos restantes para escribir, sin copiar código, esta guarda en español:
Repetir mientras la respuesta no coincida con la palabra secreta y el contador sea menor que tres.
Después conviértela en Python:
respuesta != palabra_secreta and intentos < limite30:00–55:00 · 25 min de práctica
Crea
S3D5_juego_adivinanza.py desde un archivo vacío:# S3D5_juego_adivinanza.py
palabra_secreta = "datos"
respuesta = ""
intentos = 0
limite = 3
while respuesta != palabra_secreta and intentos < limite:
print("Intento", intentos + 1, "de", limite)
respuesta = input("Escribe la palabra secreta: ")
intentos += 1
if respuesta == palabra_secreta:
print("Ganaste en", intentos, "intento(s).")
else:
print("Perdiste. La palabra era:", palabra_secreta)
# PRUEBA A — VICTORIA
# Pega aquí la salida con las entradas: modelo, datos.
#
#
#
#
#
# PRUEBA B — DERROTA
# Pega aquí la salida con las entradas: modelo, agente, python.
#
#
#
#
#
#
#
# ERROR CONTROLADO
# Con intentos <= limite apareció un intento número:
# Condición restaurada:Trabaja en este orden:
- Predice los dos finales. Antes de ejecutar, señala qué parte de la condición se vuelve falsa al ganar y cuál se vuelve falsa al perder.
- Prueba la victoria. Introduce
modeloy luegodatos. Confirma que el programa termina tras dos respuestas y pega la salida debajo dePRUEBA Acon#al inicio de cada línea. - Prueba la derrota. Ejecuta otra vez e introduce
modelo,agenteypython. Confirma que no aparece un cuarto intento y guarda la salida debajo dePRUEBA B. - Provoca un intento extra. Cambia temporalmente
intentos < limiteporintentos <= limite. Repite tres respuestas incorrectas y observa que el programa ofrece un intento número4. - Restaura el límite. Recupera
intentos < limite, ejecuta de nuevo la ruta de derrota y comprueba que termina tras el intento3. - Completa la evidencia. Escribe
4en el comentario del error controlado yintentos < limiteen el comentario de la condición restaurada.
No añadas
random, funciones, listas, break ni try/except. Una palabra fija y una condición compuesta bastan para demostrar las dos salidas del juego.55:00–60:00 · 5 min de notas
Completa estas tres líneas al final del archivo:
# La victoria terminó el while porque:
# La derrota terminó el while porque:
# input() permitió comparar palabras directamente porque:Escribe respuestas concretas:
respuesta == palabra_secreta, intentos llegó a 3 e input() devolvió texto.Hecho cuando…
- Guardaste un archivo ejecutable llamado
S3D5_juego_adivinanza.py. - Dejaste
palabra_secreta = "datos"ylimite = 3. - Usaste un único
whilecon las dos partes unidas porand. - Sumaste uno a
intentosdespués de cada respuesta. - Ganaste con
modeloydatos, sin pedir un tercer intento. - Perdiste con
modelo,agenteypython, sin pedir un cuarto intento. - Pegaste dentro del archivo las salidas observadas de victoria y derrota.
- Probaste
<=, registraste el intento extra y restauraste<. - Pudiste explicar qué parte de la condición detuvo cada ejecución.
- Terminaste sin añadir aleatoriedad, funciones, listas ni manejo de excepciones.
Cierre: guarda
S3D5_juego_adivinanza.py junto a los archivos anteriores. Las dos salidas y el error corregido dejan visible que controlas cuándo continúa y cuándo termina un while.References
- 18.2. La sentencia while — documentación de Python 3.14.7
docs.python.org
- 2
- 3
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.
