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
Practice
Projects
Quizzes & Challenges
Questionários
Challenges
/
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. Ela é 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.

Veja como Alex demonstra que 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 usamos 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 é preciso 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

Aplicação de Exemplo

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, utiliza-se 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
Note
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) do próprio valor, aplicando efetivamente o desconto;
  • O cost + 1 na instrução de impressão ajusta o índice para que comece em 1 em vez de 0, tornando a visualização mais amigável para o usuário.

Este 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 é utilizada.

Tarefa

Swipe to start coding

Desconto por Posição

Atualize a lista prices aplicando diferentes percentuais de desconto a cada item, de acordo com sua posição na lista. Utilize a iteração por índice para garantir que a lista original prices seja atualizada diretamente.

  • Utilize um loop for com range() e len() para iterar pelos índices de prices;

  • Para cada índice, aplique os seguintes descontos e atualize a lista:

    • Índice 0: desconto de 10% (multiplicar por 0.9);
    • Índice 1: desconto de 20% (multiplicar por 0.8);
    • Índice 2: desconto de 15% (multiplicar por 0.85);
    • Índice 3: desconto de 5% (multiplicar por 0.95);
  • Após atualizar cada preço, imprima uma linha: Updated price for item {index}: ${updated_price:.2f};

  • Utilize .2f em sua instrução de impressão para formatar os preços com 2 casas decimais (por exemplo, 5 torna-se 5.00).

  • É obrigatório atualizar a lista prices diretamente, e não apenas imprimir os valores com desconto.

Solução

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 6
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

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

close

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. Ela é 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.

Veja como Alex demonstra que 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 usamos 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 é preciso 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

Aplicação de Exemplo

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, utiliza-se 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
Note
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) do próprio valor, aplicando efetivamente o desconto;
  • O cost + 1 na instrução de impressão ajusta o índice para que comece em 1 em vez de 0, tornando a visualização mais amigável para o usuário.

Este 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 é utilizada.

Tarefa

Swipe to start coding

Desconto por Posição

Atualize a lista prices aplicando diferentes percentuais de desconto a cada item, de acordo com sua posição na lista. Utilize a iteração por índice para garantir que a lista original prices seja atualizada diretamente.

  • Utilize um loop for com range() e len() para iterar pelos índices de prices;

  • Para cada índice, aplique os seguintes descontos e atualize a lista:

    • Índice 0: desconto de 10% (multiplicar por 0.9);
    • Índice 1: desconto de 20% (multiplicar por 0.8);
    • Índice 2: desconto de 15% (multiplicar por 0.85);
    • Índice 3: desconto de 5% (multiplicar por 0.95);
  • Após atualizar cada preço, imprima uma linha: Updated price for item {index}: ${updated_price:.2f};

  • Utilize .2f em sua instrução de impressão para formatar os preços com 2 casas decimais (por exemplo, 5 torna-se 5.00).

  • É obrigatório atualizar a lista prices diretamente, e não apenas imprimir os valores com desconto.

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

single

some-alt