Aulas do bloco

← Aulas

PythonTrilha · etapa 71h34

Laços `for` e `while` com `range`, `break` e `continue`

Vídeos desta etapa, na ordem do portal:

  1. Laços definidos · 42 min
  2. Laços Indefinidos · 53 min
Use o número do vídeo e o horário indicado como referência nos arquivos locais.

A aula 6 deixou if, else e elif com seleção aninhada prontos para desviar o fluxo. Esta aula retoma if, len() e índice com S[i] para testar e percorrer valores. Ela introduz laço definido com for e range() e laço indefinido com while, com break e continue para controlar a repetição.

O que foi falado

  1. for percorrendo string letra a letra

    Vídeo 1 · 00:02:32

    for c in 'eu amo Python': roda o bloco uma vez para cada caractere da string. A cada iteração o próximo caractere vai para c e print(c) mostra um por linha. O cabeçalho termina com : e o bloco de baixo vem indentado.

    Python
    for c in 'Oi':
        print(c)

    Saída

    O
    i
  2. range() com início, parada exclusiva e passo

    Vídeo 1 · 00:12:13

    range(inicio, parada, passo) gera inteiros começando em inicio, parando antes de parada e pulando de passo em passo. Com dois valores o passo vira 1 e com um valor só o inicio vira 0, como em range(10). Com passo negativo o inicio fica maior que a parada para contar para trás. Para percorrer texto se usa range(len(S)) com S[i] para pegar o caractere do índice i.

    Python
    for i in range(1, 10, 2):
        print(i)

    Saída

    1
    3
    5
    7
    9
  3. if dentro do for e for aninhado

    Vídeo 1 · 00:28:06

    if dentro do for filtra cada iteração, como manter só c com c.isupper() verdadeiro para achar iniciais. for dentro de for faz o interno rodar inteiro para cada volta do externo, como letra fixa com digito avançando. Para juntar o resultado se usa f-string e end='' para não quebrar linha.

    Python
    for letra in 'AB':
        for digito in range(1, 3):
            print(f'{letra}{digito}')

    Saída

    A1
    A2
    B1
    B2
  4. while com contador e laço infinito

    Vídeo 2 · 00:03:00

    while condicao: repete o bloco indentado enquanto condicao for True. O padrão é criar n fora, testar em n <= 10 e fazer n += 1 dentro até passar do limite. Se esquecer de atualizar n ou resp a condição nunca vira False, dá laço infinito e precisa apertar Stop.

    Python
    n = 1
    while n <= 3:
        print(n)
        n += 1

    Saída

    1
    2
    3
  5. break encerra o laço inteiro

    Vídeo 2 · 00:24:13

    break encerra imediatamente o laço mais interno que o contém e segue para a instrução depois desse laço. Funciona em for e while. Nos exemplos, um if decide quando parar, como ao acertar a resposta ou atingir o limite de tentativas; o if é uma escolha de controle, não uma exigência da sintaxe de break.

    Python
    for i in range(10):
        if i == 3:
            break
        print(i)

    Saída

    0
    1
    2
  6. continue pula só a iteração atual

    Vídeo 2 · 00:35:11

    continue pula o restante da iteração atual. No for, segue para o próximo item; no while, volta ao teste da condição. Os exemplos usam if para ignorar certos valores, como múltiplos de 10. Ao usá-lo com contador em while, é preciso garantir que o caminho executado também avance ou possa terminar.

    Python
    for i in range(1, 6):
        if i % 2 == 0:
            continue
        print(i)

    Saída

    1
    3
    5

Conceitos da aula

  • iteração
  • laço definido
  • laço indefinido
  • for
  • while
  • range
  • break
  • continue
  • len()
  • f-string
  • if/else
  • not

Reforce este assunto

10 exercíciosComeçar →