Semana 3 · Día 5 — Limita un juego de adivinanza a tres intentos

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: datos

El 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. 1
Eso 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. 2

Recursos

Sesión de 60 minutos

00:00–10:00 · 10 min de repaso

  1. Abre S3D3_bucles.py y localiza el while de la cuenta descendente.
  2. Escribe qué parte cambiaba en cada vuelta y qué condición hacía terminar ese bucle.
  3. 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 ________.
  4. Comprueba tus respuestas: queden intentos y se 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:
  1. el valor secreto;
  2. la respuesta del jugador;
  3. el contador y su límite;
  4. 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 < limite

30: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:
  1. 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.
  2. Prueba la victoria. Introduce modelo y luego datos. Confirma que el programa termina tras dos respuestas y pega la salida debajo de PRUEBA A con # al inicio de cada línea.
  3. Prueba la derrota. Ejecuta otra vez e introduce modelo, agente y python. Confirma que no aparece un cuarto intento y guarda la salida debajo de PRUEBA B.
  4. Provoca un intento extra. Cambia temporalmente intentos < limite por intentos <= limite. Repite tres respuestas incorrectas y observa que el programa ofrece un intento número 4.
  5. Restaura el límite. Recupera intentos < limite, ejecuta de nuevo la ruta de derrota y comprueba que termina tras el intento 3.
  6. Completa la evidencia. Escribe 4 en el comentario del error controlado y intentos < limite en 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" y limite = 3.
  • Usaste un único while con las dos partes unidas por and.
  • Sumaste uno a intentos después de cada respuesta.
  • Ganaste con modelo y datos, sin pedir un tercer intento.
  • Perdiste con modelo, agente y python, 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.

This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.

Related content