Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Boucle While Imbriquée | Boucles Imbriquées
Tutoriel sur les Boucles en Python

book
Boucle While Imbriquée

Dans la vie réelle, vous pouvez avoir besoin d'organiser ou d'analyser des données avec plusieurs niveaux, comme le suivi des dépenses pour différents voyages. Une boucle while imbriquée vous permet de traiter ces scénarios multidimensionnels efficacement lorsque le nombre d'itérations n'est pas prédéterminé.

Imaginez que vous avez plusieurs voyages, et chaque voyage a une liste de dépenses (vols, hôtels, nourriture, etc.). En utilisant une boucle while imbriquée, vous pouvez calculer le coût total pour chaque voyage.

# List of trips with their respective expenses
travel_costs = [
[500, 200, 100, 150], # Trip 1: Flights, Hotels, Food, Activities
[600, 250, 120, 200], # Trip 2: Flights, Hotels, Food, Activities
[550, 180, 130, 170] # Trip 3: Flights, Hotels, Food, Activities
]

# Initialize the outer loop to iterate over trips
i = 0
while i < len(travel_costs):
total_cost = 0 # Reset the total cost for the current trip
j = 0
# Inner loop to iterate over expenses in each trip
while j < len(travel_costs[i]):
total_cost += travel_costs[i][j] # Add the expense to the total cost
j += 1
# Print the total cost for the current trip
print(f"Total cost for Trip {i + 1}: ${total_cost}")
i += 1 # Move to the next trip
123456789101112131415161718192021
# List of trips with their respective expenses travel_costs = [ [500, 200, 100, 150], # Trip 1: Flights, Hotels, Food, Activities [600, 250, 120, 200], # Trip 2: Flights, Hotels, Food, Activities [550, 180, 130, 170] # Trip 3: Flights, Hotels, Food, Activities ] # Initialize the outer loop to iterate over trips i = 0 while i < len(travel_costs): total_cost = 0 # Reset the total cost for the current trip j = 0 # Inner loop to iterate over expenses in each trip while j < len(travel_costs[i]): total_cost += travel_costs[i][j] # Add the expense to the total cost j += 1 # Print the total cost for the current trip print(f"Total cost for Trip {i + 1}: ${total_cost}") i += 1 # Move to the next trip
copy
  1. Boucle extérieure : while i < len(travel_costs) itère à travers la liste des voyages, où chaque ligne représente les dépenses pour un seul voyage ;
  2. Boucle intérieure : while j < len(travel_costs[i]) itère à travers les dépenses pour le voyage actuel, les additionnant dans la variable total_cost ;
  3. Imprimer les résultats : après avoir additionné les dépenses pour un voyage, le programme imprime le coût total pour ce voyage ;
  4. Passer au voyage suivant : incrémenter i pour analyser le voyage suivant jusqu'à ce que tous les voyages soient traités ;
  5. Résultat final : après la fin de la boucle, imprimer le numéro du voyage avec le coût total le plus élevé et sa valeur.
Tâche

Swipe to start coding

Vous analysez un ensemble de données sur les coûts de voyage, où chaque sous-liste représente les dépenses pour un seul voyage. Chaque voyage comprend divers coûts tels que les vols, les hôtels, la nourriture et les activités. Étant donné que les dépenses varient, vous devez identifier la dépense la plus élevée pour chaque voyage afin de suivre les coûts majeurs.

  1. On vous donne une liste travel_costs, où chaque sous-liste représente les dépenses d'un seul voyage.
  2. Pour chaque voyage, identifiez la dépense la plus élevée.
  3. Stockez les dépenses les plus élevées dans la liste max_costs.

Solution

# List of travel costs (each sublist represents a trip)
travel_costs = [
[5, 15, 10, 8, 25, 30, 55, 68, 75, 5],
[60, 20, 60, 70, 80, 80, 80, 90, 90, 90],
[100, 100, 100, 100, 50, 110, 110, 120, 120, 120, 130],
[130, 140, 39, 140, 150, 150, 150, 150, 160, 160],
[170, 180, 180, 190, 40, 190, 200],
[200, 200, 200, 210, 11, 220, 220, 220, 250, 250, 250],
[280, 300, 300, 110, 300, 320, 350, 400, 400, 450],
[480, 500, 500, 90, 500, 550, 600, 700]
]

# List to store maximum costs per trip
max_costs = []

# Iterate through trips using while loop
i = 0
while i < len(travel_costs):
j = 0
max_cost = travel_costs[i][0]

while j < len(travel_costs[i]):
if travel_costs[i][j] > max_cost:
max_cost = travel_costs[i][j]
j += 1

max_costs.append(max_cost)
i += 1

# Testing
print("Maximum Travel Costs:", max_costs)
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 2
# List of travel costs (each sublist represents a trip)
travel_costs = [
[5, 15, 10, 8, 25, 30, 55, 68, 75, 5],
[60, 20, 60, 70, 80, 80, 80, 90, 90, 90],
[100, 100, 100, 100, 50, 110, 110, 120, 120, 120, 130],
[130, 140, 39, 140, 150, 150, 150, 150, 160, 160],
[170, 180, 180, 190, 40, 190, 200],
[200, 200, 200, 210, 11, 220, 220, 220, 250, 250, 250],
[280, 300, 300, 110, 300, 320, 350, 400, 400, 450],
[480, 500, 500, 90, 500, 550, 600, 700]
]

# List to store maximum costs per trip
max_costs = []



# Testing
print("Maximum Travel Costs:", max_costs)
toggle bottom row
some-alt