Ir para o conteúdo

Semana 7 de 8

Listas e aleatoriedade

Os programas ficam imprevisíveis. Os estudantes guardam vários valores em uma lista e usam random.choice() para escolher um ao acaso, então o programa faz algo diferente a cada execução. Eles criam um jogo de aventura curto cujo caminho e prêmio mudam toda vez, e conhecem o import pela primeira vez, porque agora eles precisam dele.

Tempo estimado
60 minutos
Projeto
Jogo de aventura aleatório

A ideia

Uma lista guarda muitos valores em uma variável só, escrita entre colchetes. random.choice() enfia a mão em uma lista e puxa um item ao acaso, então o programa consegue surpreender o jogador. Para usar random, primeiro você o traz com import random lá em cima: a primeira vez que você precisa de uma ferramenta que não vem embutida. Listas mais aleatoriedade são o que faz um jogo parecer diferente cada vez que você joga.

O que você vai aprender

  • Criar uma lista e ler itens dela.
  • Usar random.choice() para escolher um item aleatório de uma lista.
  • Explicar por que import random precisa vir primeiro.
  • Consertar um programa que usa random sem importá-lo.

Palavras novas

lista
Uma coleção ordenada de valores dentro de colchetes, como ["a", "b", "c"].
item
Um valor guardado em uma lista.
import
Traz ferramentas extras que o Python não carrega por padrão, como o módulo random.
random.choice()
Escolhe um item de uma lista ao acaso.

Projeto: Jogo de aventura aleatório

Edite o código inicial abaixo e clique em Executar para ver funcionar. Use Restaurar código inicial para voltar ao original quando quiser.

main.py
Terminal

Execute seu programa para ver a saída.

Resultado esperado

Você segue por uma caverna silenciosa.
No fim, você encontra um mapa velho.

Minidesafio

Acrescente uma terceira lista de personagens que o jogador encontra pelo caminho, sorteie um e imprima uma linha sobre ele.

Desafio de depuração

O Python diz que random não está definido. Este programa usa random.choice(), mas random é uma ferramenta que precisa ser trazida antes. Qual única linha vai lá no topo?

Código com erro

caminhos = ["uma floresta escura", "uma caverna silenciosa"]
caminho = random.choice(caminhos)
print(caminho)
Ver solução
Traga a ferramenta random no topo:
import random

Desafio extra

Pergunte o nome do jogador com input() no começo e depois use esse nome na história aleatória, para a aventura parecer que é sobre ele.

Reflita

Dois jogadores executam isto e recebem histórias diferentes. Por que isso deixa um jogo mais divertido de jogar mais de uma vez?

Notas para o professor

Como a saída é aleatória, a saída esperada é só um exemplo: as execuções vão variar, e é esse justamente o ponto. Reforce que o import vai no topo. As listas são indexadas a partir de 0, mas random.choice() faz com que os estudantes ainda não precisem de índices; mantenha o foco em escolher de uma lista.

Vai conduzir esta aula? Veja o guia para professores e bibliotecários com o passo a passo, os erros mais comuns e uma atividade de reserva sem computador.

Terminou esta aula? Marque como concluída para desbloquear a próxima semana.