Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Função Range | Laços de Repetição
Introdução ao Python
Seção 5. Capítulo 3
single

single

bookFunção Range

Deslize para mostrar o menu

A função range() em Python é uma função embutida que gera uma sequência de números.

Ela é frequentemente utilizada para iterar sobre uma sequência com laços, especialmente quando é necessário executar um laço um número específico de vezes.

Ideal para lidar com tarefas que envolvem um padrão previsível de repetição, como reabastecimento de prateleiras ou agendamento de promoções em um supermercado.

Veja como Alex utiliza a função range() para gerenciar tarefas rotineiras de forma eficiente em nosso cenário de supermercado:

Sintaxe e Argumentos

A função range() pode receber até três argumentos, tornando-a versátil para diferentes cenários de repetição.

Aqui está a sintaxe geral da função range:

range(start, stop, step)
  • start: este é o primeiro número da sequência. É opcional e, se não for incluído, a sequência começará em 0.
  • stop: este é o último número da sequência, mas a sequência irá parar imediatamente antes desse número. Este argumento é obrigatório.
  • step: este é o valor adicionado (ou subtraído) entre cada número da sequência. É opcional e, se não for incluído, a sequência aumentará de 1 em cada iteração.

Agora que você compreende a sintaxe da função range(), vamos explorar alguns exemplos para ver como cada argumento — start, stop e step — influencia o comportamento dos laços.

Um Único Argumento

Quando a função range() recebe apenas um argumento, ela trata esse valor como o parâmetro stop.

No exemplo, ela gera uma sequência de 7 elementos começando em 0 e terminando em 6. O laço itera sobre esses elementos, representando os primeiros 7 dias em que a loja está aberta.

123
# Announce store opening every day for 7 days for day in range(7): print(f"Good morning! The store is now open on day {day}.")
copy

Nota

A sequência começa em 0 e termina em 6. Isso ocorre porque o Python frequentemente inicia a contagem a partir de 0, o que reduz a necessidade de ajustar a indexação em muitas situações.

Dois argumentos

Quando dois argumentos são fornecidos, como 25 (start) e 32 (stop), range() gera uma sequência de 25 até 31 (já que o valor de stop é excluído da sequência).

123
# Planning seasonal sale days in the last week of December for day in range(25, 32): print(f"Seasonal sale on December {day}.")
copy

Nota

Com este método de indexação, onde o elemento final é excluído, é possível calcular facilmente o número de elementos na sequência subtraindo o argumento start do argumento stop. Por exemplo, 32 - 25 = 7, o que significa que há 7 elementos na sequência.

Três Argumentos

Ao adicionar um terceiro argumento ao range(), você introduz um valor de step, que define o incremento entre cada número da sequência.

Neste exemplo, range() recebe 1 (start), 13 (stop) e 3 (step), produzindo os números 1, 4, 7, 10. Estes podem representar os horários de início dos turnos da equipe durante um dia de trabalho de 12 horas.

123
# Schedule staff shifts every three hours throughout a 12-hour day for hour in range(1, 13, 3): print(f"Staff shift starts at hour {hour}.")
copy

Aplicação de Exemplo

Com a função range(), é possível agendar tarefas para cada dia da semana para garantir que todas as seções da loja sejam cobertas.

Este loop executa 7 vezes porque range(7) cria números de 0 a 6 (um total de 7 elementos). Em cada iteração, a variável day recebe um valor de 0 a 6, que é então usado para acessar elementos das listas weekly_tasks e weekdays.

123456789101112131415161718192021
# List of daily tasks for a week weekly_tasks = [ "Restock Fruits", "Clean Dairy Section", "Review Meat Inventory", "Restock Vegetables", "Check Bakery Expiry Dates", "Organize Front Displays", "Prepare Weekly Sales Report" ] # List of weekdays corresponding to each task weekdays = [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ] # Loop through each day using the range function for day in range(7): task = weekly_tasks[day] # Access the task corresponding to the current day weekday = weekdays[day] # Access the corresponding weekday print(f"{weekday} Task: {task}")
copy
Tarefa

Deslize para começar a programar

Utilize duas listasweekdays e daily_promotions — para exibir a promoção atribuída a cada dia da semana.

  • Utilize um laço for com a função range() para iterar pelos índices das listas.
  • Em cada iteração:
    • Obtenha o weekday atual da lista weekdays.
    • Obtenha a promoção correspondente da lista daily_promotions usando o mesmo índice.
  • Exiba ambos os valores no formato especificado.

Requisitos de Saída

  • Para cada dia, exibir:
    <weekday>: Promotion on <promotion>

Observação

Certifique-se de que ambas as listas possuam o mesmo número de itens para evitar erros de indexação.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 3
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

some-alt