single
Funçã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á em0.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á de1em 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}.")
Nota
A sequência começa em
0e termina em6. Isso ocorre porque o Python frequentemente inicia a contagem a partir de0, 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}.")
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
startdo argumentostop. 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}.")
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}")
Deslize para começar a programar
Utilize duas listas — weekdays e daily_promotions — para exibir a promoção atribuída a cada dia da semana.
- Utilize um laço
forcom a funçãorange()para iterar pelos índices das listas. - Em cada iteração:
- Obtenha o
weekdayatual da listaweekdays. - Obtenha a promoção correspondente da lista
daily_promotionsusando o mesmo índice.
- Obtenha o
- 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
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo