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

book
Loops Aninhados

Loops aninhados expandem o poder dos loops simples ao permitir a realização de ações repetidas em múltiplas dimensões. Isso é fundamental para lidar com tarefas mais complexas em um ambiente de supermercado, como organizar dados de inventário em várias camadas ou coordenar horários entre diferentes departamentos.

Veja como Alex demonstra o uso de loops aninhados para aumentar a eficiência e gerenciar cenários complexos em nosso ambiente de supermercado:

Loops aninhados são extremamente úteis na programação quando é necessário percorrer várias sequências ao mesmo tempo. Ao colocar um loop dentro de outro, é possível iterar sobre elementos em duas ou mais dimensões, como em uma lista de listas:

# List of lists representing stock in different departments
department_stocks = [
["Apples", "Bananas", "Cherries"], # Fruits
["Milk", "Cheese", "Butter"], # Dairy
["Bread", "Bagels", "Muffins"] # Bakery
]

print("Inventory Check:")
for department in department_stocks:
print(department) # For each iteration of the outer loop, the entire sublist is accessed
# The inner loop then iterates over the items in that sublist
for item in department:
print(f" - {item}")
print("") # Add a line break for clarity
1234567891011121314
# List of lists representing stock in different departments department_stocks = [ ["Apples", "Bananas", "Cherries"], # Fruits ["Milk", "Cheese", "Butter"], # Dairy ["Bread", "Bagels", "Muffins"] # Bakery ] print("Inventory Check:") for department in department_stocks: print(department) # For each iteration of the outer loop, the entire sublist is accessed # The inner loop then iterates over the items in that sublist for item in department: print(f" - {item}") print("") # Add a line break for clarity
copy

Observe como o laço externo percorre cada sublista em department_stocks, onde cada sublista representa um departamento diferente. O laço interno então percorre todos os itens dentro de cada sublista. O laço externo não avança para a próxima sublista até que o laço interno termine de percorrer todos os itens da sublista atual.

Tarefa

Swipe to start coding

Gerencie e exiba itens de supermercado de diferentes corredores utilizando listas e laços.

  • Combine as listas aisle1, aisle2 e aisle3 em uma única lista de listas chamada aisles.
  • Utilize um laço for para iterar sobre aisles usando aisle como variável do laço.
  • Para cada corredor, exiba o número do corredor começando por 1.
  • Use um laço for aninhado para iterar sobre os itens do corredor atual utilizando item como variável do laço.
  • Exiba cada item no formato especificado.

Requisitos de Saída

  • Exibir o número do corredor como: Aisle: <aisle_number>
  • Exibir cada item como: Contains <item>

Observação

Você pode utilizar o método index() para encontrar a posição de cada corredor na lista combinada.

Solução

# Each aisle contains a variety of items
aisle1 = ["Tomatoes", "Carrots", "Lettuce"]
aisle2 = ["Eggs", "Butter", "Cream"]
aisle3 = ["Pasta", "Rice", "Cereal"]

# Task 1: Combine all aisles into a single nested list
aisles = [aisle1, aisle2, aisle3]

# Task 2: Use an outer loop to iterate through the aisles, with `aisle` as the iterator
for aisle in aisles:
# Task 3: Print the aisle number, starting from 1
print(f"Aisle: {aisles.index(aisle) + 1}")

# Task 4: Use an inner loop to iterate over the items in the current aisle, using `item` as the iterator
for item in aisle:
print(f"Contains {item}")

# Add a blank line after each aisle for readability
print()
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 6
# Each aisle contains a variety of items
aisle1 = ["Tomatoes", "Carrots", "Lettuce"]
aisle2 = ["Eggs", "Butter", "Cream"]
aisle3 = ["Pasta", "Rice", "Cereal"]

Pergunte à IA

expand
ChatGPT

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

some-alt