Menu
CoddyTech

Récapitulatif - Erreurs de panier d'achat

Fait partie de la section Logique et flux du Journey Python de Coddy. Leçon 66 sur 78.

challenge icon

Défi

Moyen

Créez un programme qui simule un panier d’achat avec gestion des erreurs. Votre tâche consiste à :

  1. Créer une fonction appelée handle_shopping_cart qui traite les commandes des clients
  2. La fonction doit accepter une liste de chaînes de commande au format "item:quantity"
  3. Traiter chaque commande en :
    • Divisant la chaîne d’entrée pour obtenir l’article et la quantité
    • Convertissant la quantité en entier
    • Ajoutant l’article à un dictionnaire de panier avec la quantité comme valeur
    • Si un article existe déjà dans le panier, ajouter la nouvelle quantité à sa quantité existante
  4. Gérer ces erreurs spécifiques :
    • Si le format d’entrée est incorrect (deux-points manquants), afficher "Invalid format: {order}"
    • Si la quantité n’est pas un nombre valide, afficher "Invalid quantity: {order}"
    • Si la quantité est négative, afficher "Negative quantity not allowed: {order}"
  5. Renvoyer le dictionnaire du panier complété

Vérifiez le format et la quantité négative avec un if. Seule la conversion de la quantité en entier peut générer une erreur, donc c’est dans except ValueError que "Invalid quantity: {order}" est affiché. Conservez le dernier bloc except Exception as e comme filet de sécurité et affichez-y "Unexpected error: {e}".

REQUIRED OUTPUT FORMAT: [Your translated content here]

Essayez vous-même

def handle_shopping_cart(orders):
    # Créer un dictionnaire vide pour le panier d'achat
    cart = {}

    # Traiter chaque commande de la liste
    for order in orders:
        try:
            # Séparer la commande, vérifier le format et la quantité, puis l'ajouter au panier
            pass

        except ValueError:
            # La quantité n'était pas un nombre
            pass

        except Exception as e:
            # Tout ce qui est inattendu
            pass

    # Retourner le panier complété
    return cart

Toutes les leçons de Logique et flux

Entraînez-vous par vous-même : Compilateur Python en ligne