Saltar al contenido

Semana 7 de 8

Listas y azar

Los programas se vuelven impredecibles. Los estudiantes guardan varios valores en una lista y usan random.choice() para elegir uno al azar, así que el programa hace algo distinto en cada ejecución. Construyen un juego corto de aventura cuyo camino y premio cambian cada vez, y conocen import por primera vez, porque ahora sí lo necesitan.

Tiempo estimado
60 minutos
Proyecto
Juego de aventura aleatorio

La idea

Una lista guarda muchos valores en una sola variable, escritos entre corchetes. random.choice() mete la mano en una lista y saca un elemento al azar, así que el programa puede sorprender al jugador. Para usar random primero lo traes con import random arriba: la primera vez que necesitas una herramienta que no viene incorporada. Las listas más el azar son lo que hace que un juego se sienta distinto cada vez que lo juegas.

Lo que vas a aprender

  • Crear una lista y leer elementos de ella.
  • Usar random.choice() para elegir un elemento al azar de una lista.
  • Explicar por qué import random tiene que ir primero.
  • Arreglar un programa que usa random sin importarlo.

Palabras nuevas

lista
Una colección ordenada de valores dentro de corchetes, como ["a", "b", "c"].
elemento
Un valor guardado en una lista.
import
Trae herramientas extra que Python no carga por defecto, como el módulo random.
random.choice()
Elige al azar un elemento de una lista.

Proyecto: Juego de aventura aleatorio

Edita el código inicial de abajo y presiona Ejecutar para verlo funcionar. Usa Restablecer código inicial para volver al original cuando quieras.

main.py
Terminal

Ejecuta tu programa para ver la salida.

Resultado esperado

Te metes por una cueva silenciosa.
Al final, encuentras un mapa viejo.

Mini desafío

Agrega una tercera lista de personajes que el jugador se encuentra en el camino, elige uno al azar e imprime una línea sobre él.

Desafío de depuración

Python dice que random no está definido. Este programa usa random.choice(), pero random es una herramienta que hay que traer primero. ¿Qué única línea va hasta arriba?

Código con errores

caminos = ["un bosque oscuro", "una cueva silenciosa"]
camino = random.choice(caminos)
print(camino)
Ver solución
Trae la herramienta random hasta arriba:
import random

Desafío de extensión

Pregunta el nombre del jugador con input() al inicio y luego úsalo en la historia aleatoria para que la aventura se sienta suya.

Reflexiona

Dos jugadores ejecutan esto y obtienen historias distintas. ¿Por qué eso hace que un juego sea más divertido de jugar más de una vez?

Notas para docentes

Como la salida es aleatoria, la salida esperada es solo un ejemplo: las ejecuciones van a variar, y ese es justo el punto. Refuerza que import va hasta arriba. Las listas se indexan desde 0, pero random.choice() hace que los estudiantes todavía no necesiten índices; mantén el foco en elegir de una lista.

¿Vas a dirigir esta lección? Consulta la guía para docentes y bibliotecarios para saber cómo darla, los errores más comunes y una actividad de respaldo sin computadora.

¿Terminaste esta lección? Márcala como completada para desbloquear la siguiente semana.