Ir para o conteúdo

Semana 4 de 8

Condicionais

O programa começa a fazer escolhas. Os estudantes usam if, elif e else para ele fazer coisas diferentes conforme a resposta do jogador. Eles montam um quiz curto que confere respostas e reage a cada uma: o coração de qualquer jogo que dá para ganhar ou perder.

Tempo estimado
55 a 60 minutos
Projeto
Quiz de conhecimentos ou de personalidade

A ideia

Uma condicional deixa o programa escolher. O Python checa uma condição, algo que é verdadeiro ou falso, e roda as linhas indentadas abaixo só se a condição for verdadeira. Com if, elif e else, um programa pode reagir de um jeito a uma resposta certa, de outro a uma resposta quase certa e de outro a uma errada. É assim que um jogo decide se você pontuou, venceu ou perdeu.

O que você vai aprender

  • Escrever um if que só roda quando a condição é verdadeira.
  • Acrescentar elif e else para lidar com as outras respostas.
  • Comparar a resposta do jogador com um valor esperado usando ==.
  • Consertar a confusão comum entre = e ==.

Palavras novas

condição
Uma pergunta com resposta verdadeira ou falsa, como resposta == "Terra".
if
Roda as linhas indentadas abaixo dele só quando a condição é verdadeira.
elif
Checa outra condição quando as de cima deram falso.
else
Roda quando nenhuma das condições acima foi verdadeira.
==
Checa se dois valores são iguais (diferente de =, que guarda um valor).

Projeto: Quiz de conhecimentos ou de personalidade

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

Em qual planeta a gente vive? Terra
Isso mesmo! 1 ponto.

Minidesafio

Acrescente uma segunda pergunta com o próprio if / else, para o seu quiz ter duas perguntas seguidas.

Desafio de depuração

O Python mostra um erro na linha do if. Um sinal de igual guarda um valor em uma variável. O que você usa quando quer checar se duas coisas são iguais?

Código com erro

resposta = input("Em qual planeta a gente vive? ")
if resposta = "Terra":
    print("Isso mesmo!")
Ver solução
Comparar dois valores precisa de dois sinais de igual:
if resposta == "Terra":

Desafio extra

Transforme em um teste de personalidade: faça uma pergunta do tipo "o que você prefere" e imprima um resultado diferente para cada escolha usando if, elif e else.

Reflita

Seu programa agora reage de formas diferentes a respostas diferentes. No seu jogo final, qual é uma decisão que o programa vai precisar tomar, e o que deve acontecer em cada caso?

Notas para o professor

Dois pontos de atenção: indentação (as linhas embaixo de um if precisam ser indentadas) e = versus == (guardar versus comparar). A comparação de strings é exata e diferencia maiúsculas, que é justamente o que a linha elif está ali para destacar. Deixe os estudantes baterem sozinhos no erro de = / ==: a mensagem aponta direto para ele.

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.