Aulas do bloco

← Aulas

PythonTrilha · etapa 629 min

`elif` e seleção aninhada

Vídeos desta etapa, na ordem do portal:

  1. Seleção com múltiplas condições · 29 min
Use o número do vídeo e o horário indicado como referência nos arquivos locais.

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

  1. if e else para dois caminhos

    Vídeo 1 · 00:00:51

    if avalia uma condição e só roda o bloco dele se o resultado for True. else roda quando essa condição dá False. Os dois se separam por : e indentação, e só um lado executa por vez.

    Python
    idade = 17
    if idade >= 18:
        print("maior de idade")
    else:
        print("menor de idade")

    Saída

    menor de idade
  2. elif testa nova condição quando a anterior falha

    Vídeo 1 · 00:02:46

    elif é a junção de else com if: só é testado se o if e os elif de cima forem False. Cada elif tem a própria condição e o próprio bloco. Com isso dá para encadear positivo, negativo e zero sem escrever um if dentro do outro.

    Python
    numero = 0
    if numero > 0:
        print("positivo")
    elif numero < 0:
        print("negativo")
    else:
        print("zero")

    Saída

    zero
  3. Comparar números e dar conselho do tempo com vários elif

    Vídeo 1 · 00:04:43

    O programa do sinal usa if, elif e else para imprimir positivo, negativo ou zero. O da comparação usa >, < e == para dizer quem é maior ou se são iguais. O do clima encadeia vários elif com 'sol', 'chuva' e 'neve', cada um com um conselho diferente, e deixa o else para tempo desconhecido.

    Python
    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
  4. Debugger com breakpoint e regra de execução exclusiva

    Vídeo 1 · 00:09:45

    O 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 forem False, entra o else final. Uma mesma estrutura pode ter quantos elif precisar.

  5. Seleção aninhada para conselho dependente de UV alto

    Vídeo 1 · 00:13:20

    Seleção aninhada é um if dentro do bloco de outro if para 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_alto só faz sentido quando tempo já é 'sol', então o teste de UV fica aninhado e acrescenta protetor solar.

    Python
    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
  6. Aninhamento em 3 níveis para identificar o animal

    Vídeo 1 · 00:17:12

    O programa pergunta com input() e guarda a resposta para testar na seleção. São três níveis: primeiro se é vertebrado ou não, depois o grupo e depois a dieta. Cada combinação de if, elif e else abre um caminho diferente até chegar no animal.

    Python
    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

9 exercíciosComeçar →