Boucles For
Bienvenue dans la section dédiée aux boucles !
Dans ce chapitre, nous allons explorer comment les boucles constituent un outil clé pour automatiser les tâches répétitives et sont essentielles pour gérer efficacement les listes et autres types de données itérables.
Rejoignez Alex alors qu'il démontre l'utilisation des boucles for
pour simplifier les opérations dans notre épicerie :
L'utilisation des boucles for
en Python permet d'exécuter un bloc de code de manière répétée pour chaque élément d'une collection (objet itérable). Voici ce qu'il faut savoir sur les boucles for
:
Syntaxe
Une boucle for
commence par le mot-clé for
, suivi d'un nom de variable tel que item
pour représenter chaque élément de la séquence. Ceci est suivi du mot-clé in
puis de l'objet itérable, comme groceryItems
. Le bloc de code à l'intérieur de la boucle est exécuté une fois pour chaque élément.
Dans cet exemple, item
agit comme la variable d'itération qui accède séquentiellement à chaque élément de la liste groceryItems
et exécute la fonction print()
pour chacun d'eux :
groceryItems = ["milk", "eggs", "cheese", "butter"] for item in groceryItems: # Code to be executed print(item)
Itération désigne le processus d’exécution répétée d’un bloc de code. Python prend en charge deux principaux types d’itération :
Itération Définie
Lorsque le nombre d’itérations est connu à l’avance. Les boucles for
en sont un exemple classique, s’arrêtant automatiquement lorsqu’elles atteignent la fin de la séquence.
Itération Indéfinie
L’exécution se poursuit jusqu’à ce qu’une condition spécifique soit remplie, généralement gérée par les boucles while
, qui seront abordées en détail dans le prochain chapitre.
Exemples d’Applications
Les boucles for
en Python peuvent être utilisées avec tout objet itérable (lists
, tuples
, dictionaries
, strings
), permettant la manipulation des données élément par élément.
Que vous ayez besoin d’accéder aux éléments d’une liste, aux clés ou valeurs d’un dictionnaire, ou aux caractères d’une chaîne, les boucles for
offrent une syntaxe claire qui simplifie le code pour les tâches répétitives.
Voici comment utiliser une boucle for
pour parcourir les éléments d’une chaîne et d’un tuple, de manière similaire à ce que nous avons vu avec les listes :
# Print each letter in the string vegetable = "Carrot" for letter in vegetable: print(letter) # Tuple containing different categories of the grocery store categories = ("Produce", "Bakery", "Meat", "Dairy") for category in categories: print(category)
Lors de l'utilisation d'une boucle for
avec un dictionnaire, itérer directement sur le dictionnaire permet de parcourir ses clés par défaut.
Voici ce à quoi il faut s'attendre lorsque vous itérez directement sur un dictionnaire :
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary key print("Product list:") for product in productStock: print(product)
Remarquez que la variable d'itération product
accède uniquement aux clés du dictionnaire.
Pour itérer sur les valeurs d'un dictionnaire, vous pouvez utiliser la méthode values()
.
Ceci est utile pour les opérations nécessitant un accès aux valeurs sans avoir besoin de référencer les clés :
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary value print("Stock counts:") for stock in productStock.values(): print(stock)
Si vous avez besoin d'accéder simultanément aux clés et aux valeurs, la méthode items()
permet de parcourir les paires clé-valeur d'un dictionnaire.
Pour utiliser cette méthode dans une boucle for
, on spécifie deux variables avant le mot-clé in
— une pour la clé (product
) et une pour la valeur (stock
) :
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print both the key and value for each dictionary item print("Inventory details:") for product, stock in productStock.items(): print(f"{product} has {stock} units in stock.")
Remarque
Dans cet exemple, nous utilisons les f-strings (également appelées littéraux de chaîne formatés) pour insérer directement des variables dans des chaînes de caractères. La syntaxe est simple : ajoutez un
f
avant le guillemet ouvrant"
, et placez les variables ou expressions entre accolades{}
dans la chaîne. Cette méthode rend la combinaison de chaînes et de variables dans les instructions print beaucoup plus lisible, il est donc utile de l'apprendre.
En utilisant vos connaissances des instructions if/else
, des opérateurs booléens et des boucles for
, il est possible d'effectuer une vérification d'inventaire simple sur un dictionnaire :
# Product names as keys and their stock levels as values inventory = { "milk": 120, "eggs": 30, "bread": 80, "apples": 10 } # The threshold stock level that triggers a restock minimum_stock = 50 # Evaluating stock levels and deciding if restocking is necessary print("Checking inventory status:") for product, quantity in inventory.items(): if quantity < minimum_stock: print(f"{product} requires restocking. Only {quantity} units remain.") else: print(f"{product} has adequate stock with {quantity} units available.")
Remarque
Vous remarquerez que nous avons placé des instructions
if
à l'intérieur de la bouclefor
, ce qui a ajouté une indentation supplémentaire au blocif
. Comme mentionné précédemment, chaque bloc de code indenté peut être considéré comme indépendant, quel que soit son emplacement. L'essentiel est de garantir que l'indentation soit cohérente et correcte entre eux.
Swipe to start coding
Gérer le stock et les promotions dans une épicerie en parcourant l'inventaire, en vérifiant les conditions de réapprovisionnement et en appliquant les promotions.
- Parcourir chaque produit dans le dictionnaire
inventory
. - À l'intérieur de la boucle, obtenir le
current_stock
et lemin_stock
à partir de la liste d'inventaire. - Utiliser une instruction
if
pour vérifier si le stock actuel est inférieur ou égal au stock minimum :- Le cas échéant, afficher un message de réapprovisionnement, augmenter le stock de
20
, mettre à jour l'inventaire et afficher le message de mise à jour.
- Le cas échéant, afficher un message de réapprovisionnement, augmenter le stock de
- Utiliser une autre instruction
if
pour vérifier si le produit existe dans le dictionnairepromotions
.
Exigences de sortie
Pour chaque article, afficher :
-
--- Processing: <item> ---
-
Si un réapprovisionnement est nécessaire :
<item> nécessite un réapprovisionnement. Stock actuel : <current_stock>. Minimum requis : <min_stock>
Stock mis à jour pour <item> : <updated_stock>
-
Si une promotion existe :
Promotion pour <item> : <promotion_details>
-
Sinon :
Aucune promotion pour <item>
Solution
Merci pour vos commentaires !