Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Défi : Automatisation du Contrôle des Stocks | Boucles
Introduction à Python

book
Défi : Automatisation du Contrôle des Stocks

Vous gérez l'inventaire d'une épicerie, et votre tâche consiste à vous assurer que le stock de chaque produit est correctement maintenu et réapprovisionné lorsque cela est nécessaire.

Si le niveau de stock d'un article tombe en dessous du minimum requis, il doit être réapprovisionné.

De plus, si le niveau de stock d'un article dépasse un certain seuil, une remise est appliquée et l'article est marqué comme « en promotion ».

Tâche

Swipe to start coding

Gérer l'inventaire d'une épicerie en réapprovisionnant les articles et en appliquant des remises selon les niveaux de stock. Vous utiliserez des boucles pour mettre à jour le statut de chaque article.

  • Utiliser une boucle for pour parcourir chaque article dans le dictionnaire inventory.
    • Pour chaque article, obtenir son stock actuel, le stock minimum requis, la quantité de réapprovisionnement et le statut de promotion.
  • Utiliser une boucle while pour réapprovisionner l'article jusqu'à ce que son stock atteigne ou dépasse le minimum requis. Augmenter le stock de la quantité de réapprovisionnement à chaque itération.
  • Après le réapprovisionnement, vérifier si le stock dépasse le discount_threshold et si l'article n'est pas encore en promotion. Le cas échéant, définir son statut de promotion à True.
  • Si l'article est déjà en promotion et dépasse toujours le seuil, afficher un message indiquant qu'il est déjà en promotion.

Exigences de sortie

  • Pour chaque article, afficher :
    Traitement de <item>...
  • Si une remise est appliquée :
    Le stock de <item> a dépassé <discount_threshold> unités. Remise appliquée.
  • Si l'article est déjà en promotion :
    <item> est déjà en promotion.
  • Après le traitement de tous les articles, afficher :
    Rapport final d'inventaire
    Puis, pour chaque article :
    <Item> : <current_stock> unités (Min : <min_stock> unités) - En promotion : <on_sale>

Solution

# Initialize the inventory dictionary with stock details
inventory = {
"Bread": [30, 50, 10, False], # "Item": [current stock, minimum stock, restock quantity, on sale (True/False)]
"Eggs": [120, 200, 40, False],
"Milk": [60, 100, 20, False],
"Apples": [15, 50, 15, False]
}

# Set the stock threshold for applying discounts
discount_threshold = 100

# Process each item
for item in inventory:
print(f"Processing {item}...")
current_stock, min_stock, restock_amount, on_sale = inventory[item]
# Restock using while loop
while current_stock < min_stock:
current_stock += restock_amount
# Check for discount condition
if current_stock > discount_threshold:
if not on_sale:
inventory[item][3] = True
print(f"{item} stock has exceeded {discount_threshold} units. Discount applied.")
else:
print(f"{item} is already discounted.")
# Update the stock in the dictionary
inventory[item][0] = current_stock

# Final Report
print("\nFinal Inventory Report")
for item in inventory:
stock, min_required, _, on_sale = inventory[item]
print(f"{item}: {stock} units (Min: {min_required} units) - On sale: {on_sale}")

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 7
# Initialize the inventory dictionary with stock details
inventory = {
"Bread": [30, 50, 10, False], # "Item": [current stock, minimum stock, restock quantity, on sale (True/False)]
"Eggs": [120, 200, 40, False],
"Milk": [60, 100, 20, False],
"Apples": [15, 50, 15, False]
}

# Set the stock threshold for applying discounts
discount_threshold = 100

Demandez à l'IA

expand
ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

some-alt