PythonTrilha · etapa 629 min
`elif` e seleção aninhada
Vídeos desta etapa, na ordem do portal:
- Seleção com múltiplas condições · 29 min
A aula 5 deixou if e else com True e False e or, and e not prontos para desviar o fluxo. Esta aula retoma essa seleção de dois caminhos para resolver casos com três ou mais saídas. Ela introduz elif para testar nova condição e seleção aninhada, com um if dentro do outro, para decisão dependente.
O que foi falado
Vídeo 1 · 00:00:51ifeelsepara dois caminhosifavalia uma condição e só roda o bloco dele se o resultado forTrue.elseroda quando essa condição dáFalse. Os dois se separam por:e indentação, e só um lado executa por vez.idade = 17 if idade >= 18: print("maior de idade") else: print("menor de idade")Saída
menor de idade
Vídeo 1 · 00:02:46eliftesta nova condição quando a anterior falhaelifé a junção deelsecomif: só é testado se oife oselifde cima foremFalse. Cadaeliftem a própria condição e o próprio bloco. Com isso dá para encadearpositivo,negativoezerosem escrever umifdentro do outro.numero = 0 if numero > 0: print("positivo") elif numero < 0: print("negativo") else: print("zero")Saída
zero
Comparar números e dar conselho do tempo com vários
Vídeo 1 · 00:04:43elifO programa do sinal usa
if,elifeelsepara imprimirpositivo,negativoouzero. O da comparação usa>,<e==para dizer quem é maior ou se sãoiguais. O do clima encadeia várioselifcom'sol','chuva'e'neve', cada um com um conselho diferente, e deixa oelsepara tempo desconhecido.tempo = "chuva" if tempo == "sol": print("use óculos") elif tempo == "chuva": print("leve guarda-chuva") elif tempo == "neve": print("use casaco") else: print("tempo desconhecido")Saída
leve guarda-chuva
Debugger com breakpoint e regra de execução exclusiva
Vídeo 1 · 00:09:45O debugger com breakpoint pausa o programa e anda linha a linha para mostrar qual condição é testada. Dá para ver que só um bloco entra: o da primeira condição
True. Se todas foremFalse, entra oelsefinal. Uma mesma estrutura pode ter quantoselifprecisar.Seleção aninhada para conselho dependente de UV alto
Vídeo 1 · 00:13:20Seleção aninhada é um
ifdentro do bloco de outroifpara decidir dentro da decisão. Neste exemplo, o if interno fica no ramo verdadeiro do externo, por isso só é alcançado quando esse ramo executa. No exemplo,uv_altosó faz sentido quandotempojá é'sol', então o teste de UV fica aninhado e acrescentaprotetor solar.tempo = "sol" uv_alto = True if tempo == "sol": print("dia de sol") if uv_alto: print("passe protetor solar") else: print("sem sol")Saída
dia de sol passe protetor solar
Aninhamento em 3 níveis para identificar o animal
Vídeo 1 · 00:17:12O programa pergunta com
input()e guarda a resposta para testar na seleção. São três níveis: primeiro se évertebradoou não, depois ogrupoe depois adieta. Cada combinação deif,elifeelseabre um caminho diferente até chegar no animal.vertebrado = True grupo = "ave" dieta = "semente" if vertebrado: if grupo == "ave": if dieta == "semente": print("pardal")Saída
pardal
Conceitos da aula
- if/else
- elif
- execução exclusiva
- múltiplos elifs
- seleção aninhada
- condição dependente
- ramificações
- input()
- debugger
- operadores de comparação
Reforce este assunto
- If-elif-else, isdigit e operadores lógicosPython · aula 10
- Estruturas condicionais: if/else e operadores de comparaçãoPython · aula 8
- Match-case e RPG de decisõesPython · aula 11