Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Iterando Sobre Índices | Laços de Repetição
Introdução ao Python

bookIterando Sobre Índices

Na tarefa anterior, você forneceu um número específico de itens para a função range(). Mas e se for necessário determinar esse número de forma dinâmica? É aqui que a iteração por índice se torna essencial.

A iteração por índice é uma técnica fundamental em Python que permite acessar e modificar elementos por suas posições em estruturas de dados como listas ou arrays. É especialmente útil para tarefas que exigem controle preciso sobre cada elemento, como atualizar níveis de estoque ou gerenciar dados de vendas em um supermercado.

Assista enquanto Alex demonstra como iterar sobre índices pode simplificar operações em nosso exemplo de supermercado:

Iterar sobre índices é útil quando é necessário acessar tanto o índice quanto o valor de cada elemento em uma lista. Quando utilizamos range() com len(), estamos combinando duas funções para gerar uma sequência de números correspondente aos índices dos elementos da lista. Esse método é particularmente útil em laços onde é necessário acessar ou modificar elementos com base em sua posição.

Por exemplo, este laço for acessa o índice e o valor de cada elemento em grocery_list:

12345678
# List of grocery items grocery_list = ["Apples", "Bananas", "Carrots", "Cucumbers"] # Initialize a for loop to iterate over indexes for item in range(len(grocery_list)): print("Index:", item) print("Item:", grocery_list[item]) print("----") # Printing a divider line for clarity
copy

Exemplo de Aplicação

Para aplicar um desconto a uma lista de preços, é necessário modificar diretamente os elementos da lista. Utilizar um loop simples como for cost in prices: apenas fornece uma cópia de cada item, e não uma referência ao item real na lista. Modificações feitas dessa forma não afetam a lista original.

Para garantir que cada elemento da lista prices seja atualizado diretamente, utilizamos range(len(prices)) para iterar sobre os índices. Isso permite aplicar um fator de desconto a cada elemento:

12345678910111213
# List of original prices of grocery items prices = [1.50, 2.00, 0.75, 3.25] # Discount factor (10% off each item) discount_factor = 0.10 # Iterate over the list of prices using range(len()) for cost in range(len(prices)): # Apply the discount by reducing the price prices[cost] -= prices[cost] * discount_factor print(f"New price of item {cost + 1}: ${prices[cost]}") print("Updated prices:", prices)
copy

Nota

  • A fórmula prices[cost] -= prices[cost] * discount_factor é equivalente a prices[cost] = prices[cost] - prices[cost] * discount_factor. Isso subtrai uma parte do preço original (determinada pelo desconto) dele mesmo, aplicando efetivamente o desconto;

  • O cost + 1 na instrução print ajusta o índice para que ele comece em 1 ao invés de 0, tornando-o mais amigável para o usuário.

Esse método garante que a lista original prices seja atualizada diretamente com os novos preços com desconto, refletindo as alterações imediatamente em todo o programa onde a lista prices for utilizada.

Tarefa

Swipe to start coding

Desconto por Posição

Aplicação de percentuais de desconto aos preços dos produtos com base em sua posição na lista utilizando iteração por índice.

  1. Utilização de um loop for com range() e len() para iterar pelos índices de prices.
  2. Aplicação de descontos conforme a posição do índice: 10% para o índice 0, 20% para o índice 1, 15% para o índice 2 e 5% para o índice 3.
  3. Atualização de cada preço na lista prices multiplicando pelo fator de desconto (por exemplo, 0.9 para 10% de desconto).
  4. Impressão de Updated price for item {index}: ${updated_price:.2f} para cada item.

Solução

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 4
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

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

Suggested prompts:

Can you explain why using `range(len(list))` is better for modifying list elements?

How would I apply a different discount to each item in the list?

What happens if I use a regular `for item in list:` loop instead?

close

Awesome!

Completion rate improved to 2.17

bookIterando Sobre Índices

Deslize para mostrar o menu

Na tarefa anterior, você forneceu um número específico de itens para a função range(). Mas e se for necessário determinar esse número de forma dinâmica? É aqui que a iteração por índice se torna essencial.

A iteração por índice é uma técnica fundamental em Python que permite acessar e modificar elementos por suas posições em estruturas de dados como listas ou arrays. É especialmente útil para tarefas que exigem controle preciso sobre cada elemento, como atualizar níveis de estoque ou gerenciar dados de vendas em um supermercado.

Assista enquanto Alex demonstra como iterar sobre índices pode simplificar operações em nosso exemplo de supermercado:

Iterar sobre índices é útil quando é necessário acessar tanto o índice quanto o valor de cada elemento em uma lista. Quando utilizamos range() com len(), estamos combinando duas funções para gerar uma sequência de números correspondente aos índices dos elementos da lista. Esse método é particularmente útil em laços onde é necessário acessar ou modificar elementos com base em sua posição.

Por exemplo, este laço for acessa o índice e o valor de cada elemento em grocery_list:

12345678
# List of grocery items grocery_list = ["Apples", "Bananas", "Carrots", "Cucumbers"] # Initialize a for loop to iterate over indexes for item in range(len(grocery_list)): print("Index:", item) print("Item:", grocery_list[item]) print("----") # Printing a divider line for clarity
copy

Exemplo de Aplicação

Para aplicar um desconto a uma lista de preços, é necessário modificar diretamente os elementos da lista. Utilizar um loop simples como for cost in prices: apenas fornece uma cópia de cada item, e não uma referência ao item real na lista. Modificações feitas dessa forma não afetam a lista original.

Para garantir que cada elemento da lista prices seja atualizado diretamente, utilizamos range(len(prices)) para iterar sobre os índices. Isso permite aplicar um fator de desconto a cada elemento:

12345678910111213
# List of original prices of grocery items prices = [1.50, 2.00, 0.75, 3.25] # Discount factor (10% off each item) discount_factor = 0.10 # Iterate over the list of prices using range(len()) for cost in range(len(prices)): # Apply the discount by reducing the price prices[cost] -= prices[cost] * discount_factor print(f"New price of item {cost + 1}: ${prices[cost]}") print("Updated prices:", prices)
copy

Nota

  • A fórmula prices[cost] -= prices[cost] * discount_factor é equivalente a prices[cost] = prices[cost] - prices[cost] * discount_factor. Isso subtrai uma parte do preço original (determinada pelo desconto) dele mesmo, aplicando efetivamente o desconto;

  • O cost + 1 na instrução print ajusta o índice para que ele comece em 1 ao invés de 0, tornando-o mais amigável para o usuário.

Esse método garante que a lista original prices seja atualizada diretamente com os novos preços com desconto, refletindo as alterações imediatamente em todo o programa onde a lista prices for utilizada.

Tarefa

Swipe to start coding

Desconto por Posição

Aplicação de percentuais de desconto aos preços dos produtos com base em sua posição na lista utilizando iteração por índice.

  1. Utilização de um loop for com range() e len() para iterar pelos índices de prices.
  2. Aplicação de descontos conforme a posição do índice: 10% para o índice 0, 20% para o índice 1, 15% para o índice 2 e 5% para o índice 3.
  3. Atualização de cada preço na lista prices multiplicando pelo fator de desconto (por exemplo, 0.9 para 10% de desconto).
  4. Impressão de Updated price for item {index}: ${updated_price:.2f} para cada item.

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 4
single

single

some-alt