Contenu du cours
Introduction à Python
Introduction à Python
Boucles While
Les boucles while
sont l'outil clé pour gérer l'itération indéfinie, ce qui est utile dans des scénarios où le nombre d'itérations n'est pas connu à l'avance, comme la surveillance des niveaux de stock jusqu'à ce qu'ils atteignent un seuil spécifique.
Regardez Alex démontrer comment utiliser les boucles while
pour gérer des situations dynamiques :
Une boucle while
en Python exécute continuellement un bloc de code tant qu'une condition spécifiée reste True
.
Syntaxe
Pour démarrer une boucle while
, vous définissez une variable compteur et la suivez par le mot-clé while
et une condition booléenne. La condition est suivie d'un deux-points :
, qui indique le début du bloc de code de la boucle.
La boucle s'exécutera de manière répétée jusqu'à ce que la condition devienne False
. Typiquement, la variable compteur est mise à jour à l'intérieur de la boucle pour finalement rendre la condition False
et arrêter la boucle.
Prenez cet exemple de boucle while
:
# Handling a queue at a grocery store checkout queue_length = 5 # Initial number of people in the queue while queue_length > 0: # Start the `while` loop as long as the queue isn't empty print(f"Current queue size: {queue_length}") # Simulate serving a customer print("Serving the next customer...") # Decrease the queue length by 1 as a customer leaves # The `-=` operator is a shortcut for `queue_length = queue_length - 1` queue_length -= 1
Dans cet exemple, queue_length
agit comme notre variable compteur, commençant à 5
. À chaque itération de la boucle, la valeur de queue_length
diminue de 1
jusqu'à atteindre 0
. À ce moment-là, la boucle se termine car la condition 0 > 0
s'évalue à False
.
Remarque
Il est crucial de mettre à jour la variable compteur à l'intérieur de la boucle pour finalement satisfaire la condition d'arrêt de la boucle. Sans cela, la boucle s'exécutera indéfiniment, empêchant l'exécution de tout autre code.
Exemple d'application
Imaginez que vous gérez le stock de lait dans une épicerie. Vous devez vous assurer que le stock ne tombe pas en dessous d'un certain niveau, et lorsqu'il le fait, vous devez réapprovisionner pour maintenir le niveau de stock.
Une boucle while
est utile dans cette situation car elle vous permet de réapprovisionner le lait par incréments sur plusieurs itérations jusqu'à ce que le stock atteigne le niveau souhaité. Sans une boucle while
, vous devriez calculer la quantité exacte de lait à réapprovisionner en une seule fois.
Par exemple, considérez qu'un employé du magasin ne peut réapprovisionner qu'une quantité fixe de lait en un seul voyage (par exemple, 20
packs par réapprovisionnement). Si le stock n'est pas entièrement reconstitué, l'employé retourne à l'entrepôt pour apporter un autre lot de lait.
# Initial amount of milk in stock milk_stock = 15 # Minimum stock level before restocking is necessary min_stock = 50 # Quantity a worker can restock at one time restock_quantity = 20 # Start the loop to restock milk until the stock exceeds the minimum required level while milk_stock < min_stock: # If the loop is running, the condition is `True`, indicating we need more milk print(f"Milk stock is low: {milk_stock} units remaining.") # Simulate the process of restocking milk print("Restocking milk...") # Increase the stock by the quantity the worker can bring in one trip milk_stock += restock_quantity # Output the final stock level after restocking is complete print(f"Milk stock updated: {milk_stock} units, which is now sufficient.")
Remarque
milk_stock += restock_quantity
est équivalent àmilk_stock = milk_stock + restock_quantity
. C'est simplement une manière plus concise et lisible d'exprimer la même opération.
Le diagramme de flux ci-dessus illustre la logique derrière la boucle while
utilisée pour gérer l'inventaire de lait. Remarquez comment la variable compteur milk_stock
, commençant à 15
, est incrémentée par la restock_quantity
à chaque itération de la boucle.
La boucle continue de fonctionner jusqu'à ce que milk_stock
dépasse le seuil min_stock
de 50
, moment auquel elle s'arrête.
Swipe to start coding
Dans cette tâche, vous allez gérer l'inventaire d'une épicerie en utilisant des boucles pour vous assurer que les produits atteignent leurs niveaux de stock minimum. Vous travaillerez avec trois articles : Bread
, Eggs
, et Apples
. Votre objectif est de mettre à jour leurs niveaux de stock en utilisant les quantités de réapprovisionnement stockées dans un dictionnaire puis d'imprimer l'inventaire mis à jour.
Instructions de Code
- Créez une boucle
while
pour vérifier si le stock de"Bread"
est en dessous de son niveau minimum requis. Si c'est le cas, augmentez le stock en ajoutant la quantité de réapprovisionnement spécifiée dans le dictionnaire. - De même, configurez une boucle
while
pour"Eggs"
afin de vérifier si le stock est en dessous du niveau minimum. Si nécessaire, réapprovisionnez en ajoutant la quantité de réapprovisionnement spécifiée. - Appliquez la même logique à
"Apples"
en utilisant une bouclewhile
pour vous assurer qu'il atteint le niveau de stock minimum. - Après avoir réapprovisionné tous les articles, parcourez le dictionnaire d'inventaire et imprimez les niveaux de stock finaux pour chaque article.
Exigences de Sortie
- Pour chaque article réapprovisionné, imprimez un message indiquant le niveau de stock actuel et que le réapprovisionnement est en cours. Par exemple :
"<Item> stock is low: <$current_stock> units. Restocking..."
. - Une fois le réapprovisionnement terminé, imprimez l'état final de l'inventaire au format :
"<Item>: <$current_stock> units (Minimum required: <$minimum_stock> units)"
. - Utilisez des f-strings pour formater les messages de sortie, et assurez-vous d'utiliser des guillemets simples à l'intérieur des chaînes entre guillemets doubles pour les clés du dictionnaire.
- Insérez une nouvelle ligne avant d'imprimer l'état final de l'inventaire en utilisant la séquence d'échappement
\n
.
Remarque
Le code introduit de nouvelles façons de formater les chaînes pour une meilleure lisibilité :
- À l'intérieur des f-strings, des guillemets simples
'
peuvent être utilisés à l'intérieur des chaînes entre guillemets doubles. Par exemple :f"Bread stock is low: {inventory['Bread'][0]} units."
. La chaîne extérieure utilise des guillemets doubles, tandis que'Bread'
utilise des guillemets simples pour éviter les conflits.- Vous pouvez insérer une nouvelle ligne dans la sortie en utilisant la séquence d'échappement
\n
, comme"First line.\nSecond line."
qui divisera la sortie en deux lignes.
Solution
Merci pour vos commentaires !
Boucles While
Les boucles while
sont l'outil clé pour gérer l'itération indéfinie, ce qui est utile dans des scénarios où le nombre d'itérations n'est pas connu à l'avance, comme la surveillance des niveaux de stock jusqu'à ce qu'ils atteignent un seuil spécifique.
Regardez Alex démontrer comment utiliser les boucles while
pour gérer des situations dynamiques :
Une boucle while
en Python exécute continuellement un bloc de code tant qu'une condition spécifiée reste True
.
Syntaxe
Pour démarrer une boucle while
, vous définissez une variable compteur et la suivez par le mot-clé while
et une condition booléenne. La condition est suivie d'un deux-points :
, qui indique le début du bloc de code de la boucle.
La boucle s'exécutera de manière répétée jusqu'à ce que la condition devienne False
. Typiquement, la variable compteur est mise à jour à l'intérieur de la boucle pour finalement rendre la condition False
et arrêter la boucle.
Prenez cet exemple de boucle while
:
# Handling a queue at a grocery store checkout queue_length = 5 # Initial number of people in the queue while queue_length > 0: # Start the `while` loop as long as the queue isn't empty print(f"Current queue size: {queue_length}") # Simulate serving a customer print("Serving the next customer...") # Decrease the queue length by 1 as a customer leaves # The `-=` operator is a shortcut for `queue_length = queue_length - 1` queue_length -= 1
Dans cet exemple, queue_length
agit comme notre variable compteur, commençant à 5
. À chaque itération de la boucle, la valeur de queue_length
diminue de 1
jusqu'à atteindre 0
. À ce moment-là, la boucle se termine car la condition 0 > 0
s'évalue à False
.
Remarque
Il est crucial de mettre à jour la variable compteur à l'intérieur de la boucle pour finalement satisfaire la condition d'arrêt de la boucle. Sans cela, la boucle s'exécutera indéfiniment, empêchant l'exécution de tout autre code.
Exemple d'application
Imaginez que vous gérez le stock de lait dans une épicerie. Vous devez vous assurer que le stock ne tombe pas en dessous d'un certain niveau, et lorsqu'il le fait, vous devez réapprovisionner pour maintenir le niveau de stock.
Une boucle while
est utile dans cette situation car elle vous permet de réapprovisionner le lait par incréments sur plusieurs itérations jusqu'à ce que le stock atteigne le niveau souhaité. Sans une boucle while
, vous devriez calculer la quantité exacte de lait à réapprovisionner en une seule fois.
Par exemple, considérez qu'un employé du magasin ne peut réapprovisionner qu'une quantité fixe de lait en un seul voyage (par exemple, 20
packs par réapprovisionnement). Si le stock n'est pas entièrement reconstitué, l'employé retourne à l'entrepôt pour apporter un autre lot de lait.
# Initial amount of milk in stock milk_stock = 15 # Minimum stock level before restocking is necessary min_stock = 50 # Quantity a worker can restock at one time restock_quantity = 20 # Start the loop to restock milk until the stock exceeds the minimum required level while milk_stock < min_stock: # If the loop is running, the condition is `True`, indicating we need more milk print(f"Milk stock is low: {milk_stock} units remaining.") # Simulate the process of restocking milk print("Restocking milk...") # Increase the stock by the quantity the worker can bring in one trip milk_stock += restock_quantity # Output the final stock level after restocking is complete print(f"Milk stock updated: {milk_stock} units, which is now sufficient.")
Remarque
milk_stock += restock_quantity
est équivalent àmilk_stock = milk_stock + restock_quantity
. C'est simplement une manière plus concise et lisible d'exprimer la même opération.
Le diagramme de flux ci-dessus illustre la logique derrière la boucle while
utilisée pour gérer l'inventaire de lait. Remarquez comment la variable compteur milk_stock
, commençant à 15
, est incrémentée par la restock_quantity
à chaque itération de la boucle.
La boucle continue de fonctionner jusqu'à ce que milk_stock
dépasse le seuil min_stock
de 50
, moment auquel elle s'arrête.
Swipe to start coding
Dans cette tâche, vous allez gérer l'inventaire d'une épicerie en utilisant des boucles pour vous assurer que les produits atteignent leurs niveaux de stock minimum. Vous travaillerez avec trois articles : Bread
, Eggs
, et Apples
. Votre objectif est de mettre à jour leurs niveaux de stock en utilisant les quantités de réapprovisionnement stockées dans un dictionnaire puis d'imprimer l'inventaire mis à jour.
Instructions de Code
- Créez une boucle
while
pour vérifier si le stock de"Bread"
est en dessous de son niveau minimum requis. Si c'est le cas, augmentez le stock en ajoutant la quantité de réapprovisionnement spécifiée dans le dictionnaire. - De même, configurez une boucle
while
pour"Eggs"
afin de vérifier si le stock est en dessous du niveau minimum. Si nécessaire, réapprovisionnez en ajoutant la quantité de réapprovisionnement spécifiée. - Appliquez la même logique à
"Apples"
en utilisant une bouclewhile
pour vous assurer qu'il atteint le niveau de stock minimum. - Après avoir réapprovisionné tous les articles, parcourez le dictionnaire d'inventaire et imprimez les niveaux de stock finaux pour chaque article.
Exigences de Sortie
- Pour chaque article réapprovisionné, imprimez un message indiquant le niveau de stock actuel et que le réapprovisionnement est en cours. Par exemple :
"<Item> stock is low: <$current_stock> units. Restocking..."
. - Une fois le réapprovisionnement terminé, imprimez l'état final de l'inventaire au format :
"<Item>: <$current_stock> units (Minimum required: <$minimum_stock> units)"
. - Utilisez des f-strings pour formater les messages de sortie, et assurez-vous d'utiliser des guillemets simples à l'intérieur des chaînes entre guillemets doubles pour les clés du dictionnaire.
- Insérez une nouvelle ligne avant d'imprimer l'état final de l'inventaire en utilisant la séquence d'échappement
\n
.
Remarque
Le code introduit de nouvelles façons de formater les chaînes pour une meilleure lisibilité :
- À l'intérieur des f-strings, des guillemets simples
'
peuvent être utilisés à l'intérieur des chaînes entre guillemets doubles. Par exemple :f"Bread stock is low: {inventory['Bread'][0]} units."
. La chaîne extérieure utilise des guillemets doubles, tandis que'Bread'
utilise des guillemets simples pour éviter les conflits.- Vous pouvez insérer une nouvelle ligne dans la sortie en utilisant la séquence d'échappement
\n
, comme"First line.\nSecond line."
qui divisera la sortie en deux lignes.
Solution
Merci pour vos commentaires !