division by zero

Python Erreur courante

Explication

L'erreur `ZeroDivisionError: division by zero` survient lorsque vous **divisez par zéro** (avec `/`, `//` ou `%`), une opération mathématiquement indéfinie. Le diviseur vaut `0`, souvent parce qu'il dépend de données ou d'une saisie que vous n'avez pas contrôlée. ```python notes = [] moyenne = sum(notes) / len(notes) # len(notes) vaut 0 # ZeroDivisionError: division by zero ```

Causes courantes

- **Le diviseur vaut 0** directement ou après un calcul. - **Division par la longueur d'une collection vide** (`len(liste)` = 0). - **Saisie utilisateur** égale à 0. - **Donnée manquante** (taux, quantité) à 0.

1. Vérifiez le diviseur avant de diviser

if len(notes) > 0:
    moyenne = sum(notes) / len(notes)
else:
    moyenne = 0   # ou None, selon le sens métier

2. Utilisez une expression conditionnelle

moyenne = sum(notes) / len(notes) if notes else 0

3. Encadrez avec try / except

try:
    ratio = gains / mises
except ZeroDivisionError:
    ratio = 0.0

4. En production : décidez du sens métier

Une division par zéro révèle souvent un cas limite (aucune donnée, dénominateur nul). Choisissez explicitement le résultat attendu (0, None, ou lever une erreur métier claire) plutôt que de laisser planter.

Comment prevenir cette erreur

- **Validez les dénominateurs** issus de données ou de saisies. - **Testez le cas « collection vide »**, fréquent en début de traitement. - Pour les statistiques, `statistics.mean([])` lève aussi une erreur : gérez la liste vide en amont. - Référence : [docs.python.org — ZeroDivisionError](https://docs.python.org/fr/3/library/exceptions.html#ZeroDivisionError).

Besoin d'aide sur votre projet ?

Besoin d'aide sur un probleme technique ? Decrivez-le pour des recommandations.

Nous contacter

Questions frequentes

`7 // 0` et `7 % 0` lèvent-ils la même erreur ?
Oui. La division entière `//` et le modulo `%` par zéro lèvent également `ZeroDivisionError`. Seuls les flottants ont un comportement particulier (`1.0 / 0` lève aussi l'erreur en Python).
Comment éviter l'erreur lors d'un calcul de moyenne ?
Vérifiez que la liste n'est pas vide avant de diviser : `moyenne = sum(notes) / len(notes) if notes else 0`.

Erreurs similaires

Chaque semaine, le meilleur de la tech francaise

Tendances, salaires, outils et opportunites — directement dans votre boite mail.

Gratuit. Desabonnement en un clic. Pas de spam.