
Passo 1 de 7
Executar um bloco somente quando a condição for verdadeira
Escreva um if simples e acompanhe o que acontece quando sua condição é verdadeira ou falsa.
Trilha de aprendizado · Nível 2 · Tutorial 3
Implementar decisões que executam comportamentos diferentes conforme as condições e acompanhar qual caminho será escolhido.
Executar um bloco somente quando a condição for verdadeira
Escreva um if simples e acompanhe o que acontece quando sua condição é verdadeira ou falsa. 2 min
Escolher entre dois caminhos com else
Use if e else para executar um de dois blocos e manter uma mensagem comum após a decisão. 2 min
Selecionar uma entre várias alternativas com elif
Monte uma cadeia de condições e identifique quais testes são avaliados e qual bloco é escolhido. 3 min
Ordenar condições e conferir os limites
Organize faixas de pontuação e confira o resultado nos valores imediatamente próximos de cada limite. 3 min
Diferenciar alternativas de decisões independentes
Compare cadeias e decisões independentes para escolher entre um resultado exclusivo e ações que podem acontecer juntas. 3 min
Acompanhar uma decisão dentro de outra
Acompanhe dois níveis de decisão e use a indentação para identificar quais mensagens aparecem em cada caminho. 3 min
Aplicar e revisar as escolhas de caminho
Adapte um resultado fictício de jogo e confira limites, avisos independentes e decisões aninhadas no seu computador. 4 min

Passo 1 de 7
Escreva um if simples e acompanhe o que acontece quando sua condição é verdadeira ou falsa.
O if executa um bloco somente quando a condição é verdadeira. Escreva if, a condição e dois-pontos (:). Abaixo, use a indentação para indicar quais instruções pertencem ao bloco.
Neste exemplo, o print com quatro espaços de recuo pertence ao if. O último print, sem recuo, fica depois da decisão.
pontos = 12
if pontos >= 10:
print("Bônus liberado")
print("Fim da rodada")
Com 12 pontos, aparecem as duas mensagens. Se a condição for falsa, o bloco é pulado, mas “Fim da rodada” continua sendo exibido.
Complete com a linha inteira que libera o bônus quando pontos é maior ou igual a 10.
pontos = 12
____
print("Bônus liberado")pontos = 10
if pontos >= 10:
print("Bônus liberado")
print("Fim da rodada")Quais mensagens aparecem, na ordem, com pontos = 10? E se você trocar apenas esse valor por 9? Explique por que “Fim da rodada” aparece nos dois casos.
Escreva pelo menos 20 caracteres (0/20).

Passo 2 de 7
Use if e else para executar um de dois blocos e manter uma mensagem comum após a decisão.
Com um if simples, a condição falsa faz o programa pular o bloco. O else acrescenta uma alternativa: seu bloco é executado quando a condição do if é falsa.
Escreva else: sem condição e alinhado ao if. Indente as instruções de cada bloco. Exatamente um dos dois blocos será executado.
Com tem_chave = True, a saída será “Porta aberta” e depois “Fim da tentativa”. A última mensagem está fora dos dois blocos.
tem_chave = True
if tem_chave:
print("Porta aberta")
else:
print("Porta trancada")
print("Fim da tentativa")
O else acrescenta uma ação ao caminho falso. A mensagem após a decisão continua sendo executada nos dois casos.
No código da porta, alteramos apenas tem_chave para False. Qual será a saída, na ordem?
Escreva um programa curto seguindo estas regras:
energia = 8.energia >= 10, mostre “Pode jogar”.Use if e else e cuide do recuo de cada print.
Escreva pelo menos 30 caracteres (0/30).

Passo 3 de 7
Monte uma cadeia de condições e identifique quais testes são avaliados e qual bloco é escolhido.
Use elif para testar outra condição quando as anteriores forem falsas. Ele recebe uma condição e dois-pontos, alinhado ao if.
A cadeia começa com um if, pode ter um ou mais elif e pode terminar com else. Ao encontrar a primeira condição verdadeira, Python executa aquele bloco e não avalia os testes restantes da cadeia.
Com modo = 2, a saída será Treino e, na linha seguinte, Fim da escolha.
modo = 2
if modo == 1:
print("Aventura")
elif modo == 2:
print("Treino")
else:
print("Modo desconhecido")
print("Fim da escolha")
Para modo = 2, o primeiro teste é falso e o segundo é verdadeiro. O else não é executado.
Na cadeia anterior, o if testa modo == 1 e o elif testa modo == 2. Associe cada valor ao que acontece.
Toque em um item e depois no par correspondente.
Você pode acrescentar outros elif. O else é opcional: sem ele, se todas as condições forem falsas, nenhum bloco da cadeia será executado.
Uma cadeia executa no máximo um bloco. Com else, há um caminho mesmo quando todos os testes são falsos.
Leia com modo = 4: os três testes são falsos. A única mensagem exibida é Fim da escolha.
modo = 4
if modo == 1:
print("Aventura")
elif modo == 2:
print("Treino")
elif modo == 3:
print("Desafio")
print("Fim da escolha")O trecho está incompleto. Falta a palavra-chave que introduz o segundo teste.
modo = 2
if modo == 1:
print("Aventura")
____ modo == 2:
print("Treino")
else:
print("Modo desconhecido")Qual palavra-chave completa a lacuna mantendo uma única cadeia de alternativas?

Passo 4 de 7
Organize faixas de pontuação e confira o resultado nos valores imediatamente próximos de cada limite.
Em um jogo, a classificação deve ser: Ouro a partir de 80 pontos, Prata de 50 até menos de 80 e Bronze abaixo de 50. Considere pontuações inteiras não negativas.
Observe esta tentativa: com 90 pontos, as duas comparações seriam verdadeiras. Mas a primeira já seleciona Prata.
pontos = 90
if pontos >= 50:
print("Prata")
elif pontos >= 80:
print("Ouro")
else:
print("Bronze")O bloco Ouro fica inalcançável: todo valor que atende a pontos >= 80 já foi capturado por pontos >= 50.
Para classificar essas faixas usando >=, teste os limites do maior para o menor. Assim, a condição mais ampla não esconde a faixa superior.
Ordene as regras de cima para baixo para que a cadeia produza a classificação desejada.
Na cadeia corrigida, >= inclui o limite: 80 entra em Ouro e 50 entra em Prata.
Se apenas pontos >= 80 fosse trocado por pontos > 80, exatamente 80 deixaria de entrar em Ouro e cairia em Prata. A ordem e o operador precisam combinar com a regra.
pontos = 80
if pontos >= 80:
print("Ouro")
elif pontos >= 50:
print("Prata")
else:
print("Bronze")
Círculo preenchido inclui o ponto; círculo vazio exclui. A faixa Prata termina antes de 80 porque Ouro foi testado primeiro.
Use a cadeia corrigida: primeiro pontos >= 80, depois pontos >= 50, por último else.
Escreva pelo menos 40 caracteres (0/40).

Passo 5 de 7
Compare cadeias e decisões independentes para escolher entre um resultado exclusivo e ações que podem acontecer juntas.
Compare os programas abaixo. Com pontos = 80, as duas condições seriam verdadeiras.
Na cadeia, o primeiro bloco é escolhido e o elif não é avaliado. Já cada if independente inicia uma nova decisão: depois do primeiro bloco, o programa chega ao segundo if e também testa sua condição.
pontos = 80
if pontos >= 70:
print("Meta de 70 atingida")
elif pontos >= 50:
print("Meta de 50 atingida")pontos = 80
if pontos >= 70:
print("Meta de 70 atingida")
if pontos >= 50:
print("Meta de 50 atingida")
A exibe somente “Meta de 70 atingida”. B exibe “Meta de 70 atingida” e depois “Meta de 50 atingida”.
Altere apenas pontos = 80 para pontos = 60 nos dois programas da tela anterior. Qual será a saída?
Uma única classificação: use uma cadeia. Mesmo com condições sobrepostas, ela seleciona no máximo um bloco; com else, há um caminho para quando todos os testes forem falsos.
Avisos que podem aparecer juntos: use if independentes. Cada condição verdadeira pode gerar seu próprio aviso, como no programa B.
Aqui, 80 pontos devem gerar apenas “Ouro”, e não “Ouro” e “Prata”.
pontos = 80
if pontos >= 70:
print("Ouro")
elif pontos >= 50:
print("Prata")
else:
print("Bronze")Dica
Pergunte: “Se duas condições forem verdadeiras, quero executar as duas ações?” Se sim, decisões independentes permitem isso. Se apenas uma alternativa deve ser escolhida, use uma cadeia.
Um jogo tem duas regras:
Qual estrutura você escolheria para cada regra: uma cadeia if/elif/else ou if independentes? Justifique e diga qual classificação e quais avisos apareceriam com 80 pontos.
Escreva pelo menos 30 caracteres (0/30).

Passo 6 de 7
Acompanhe dois níveis de decisão e use a indentação para identificar quais mensagens aparecem em cada caminho.
Uma decisão pode ficar dentro do bloco de outra. No código abaixo, novo_recorde só é testado se partida_encerrada for verdadeiro.
O if interno tem 4 espaços de recuo; seus blocos têm 8. Cada else corresponde ao if no mesmo nível de indentação.
partida_encerrada = True
novo_recorde = False
if partida_encerrada:
if novo_recorde:
print("Novo recorde")
else:
print("Sem recorde")
print("Resultado registrado")
else:
print("Partida em andamento")
print("Até logo")
Os caminhos internos se encontram antes de “Resultado registrado”. Os caminhos externos se encontram antes de “Até logo”.
Relacione cada trecho do código anterior à sua posição na estrutura.
Toque em um item e depois no par correspondente.
Com partida_encerrada = True e novo_recorde = False, o programa entra no bloco externo e escolhe o else interno.
Depois, sai apenas da decisão interna: ainda precisa executar print("Resultado registrado"). Por fim, segue para a instrução fora de toda a decisão.
Exemplo
Sem recorde
Resultado registrado
Até logo
Dica
Se partida_encerrada for falso, o teste de novo_recorde nem será alcançado. “Resultado registrado” também será pulado, pois pertence ao bloco verdadeiro externo. “Até logo” continuará sendo exibido.
Considere o mesmo programa, alterando apenas os valores iniciais:
A: partida_encerrada = True e novo_recorde = True.
B: partida_encerrada = False e novo_recorde = True.
Liste as mensagens de cada cenário na ordem em que aparecem. No cenário B, o teste de novo_recorde é executado? Explique por quê.
Escreva pelo menos 30 caracteres (0/30).

Passo 7 de 7
Adapte um resultado fictício de jogo e confira limites, avisos independentes e decisões aninhadas no seu computador.
No seu editor, crie o arquivo resultado.py com o código abaixo e execute-o.
A classificação só acontece quando a partida está concluída. O aviso de energia é independente: pode aparecer junto com qualquer resultado. A mensagem final fica fora de todas as decisões.
Nesta versão inicial, a saída é Prata, Energia baixa e Fim da análise, cada mensagem em uma linha.
partida_concluida = True
pontos = 80
energia = 15
if partida_concluida:
if pontos >= 90:
print("Ouro")
elif pontos >= 50:
print("Prata")
else:
print("Bronze")
else:
print("Partida em andamento")
if energia <= 20:
print("Energia baixa")
print("Fim da análise")Altere os dois limites da classificação: Ouro passa a exigir pelo menos 80 pontos; Prata, pelo menos 40 pontos, desde que Ouro não tenha sido escolhido. Abaixo de 40, o resultado é Bronze.
Mantenha as demais regras. Salve o arquivo e execute cada caso da tabela, alterando apenas os valores iniciais. Use energia = 15 em todos os casos.

Os resultados se reúnem antes do teste independente de energia. A mensagem final vem depois de todos os caminhos.
Exemplo
Cada seta abaixo separa mensagens que devem aparecer em linhas diferentes. Mantenha energia = 15.
Com partida_concluida = True:
Com partida_concluida = False:
Os seis primeiros casos conferem os valores imediatamente abaixo, iguais e imediatamente acima dos dois limites.
Depois de executar os casos no seu computador:
Compare seu relato com a resposta de referência após responder; não é necessário enviar o arquivo.
Escreva pelo menos 80 caracteres (0/80).
Resumo
Antes de considerar uma decisão pronta, confira:
Parabéns! Você concluiu: Selecionar caminhos com if, elif e else
Milhares de cursos online em vídeo, ebooks e áudiobooks.
Para testar seus conhecimentos no decorrer dos cursos online
Gerado diretamente na galeria de fotos do seu celular e enviado ao seu e-mail
Baixe nosso aplicativo pelo QR Code ou pelos links abaixo:.
+ de 10 milhões
de alunos
Certificado grátis e
válido em todo o Brasil
60 mil exercícios
gratuitos
4,8/5 classificação
nas lojas de apps
Cursos gratuitos em
vídeo, ebooks e audiobooks