journal de maths Python

En mathématiques, il existe des opérations qui ne fonctionnent pas sur des nombres négatifs ou des nombres nuls. Prenons par exemple la racine carrée. Vous ne pouvez pas trouver la racine carrée d’un nombre négatif. Python reconnaaît que toutes les opérations ne fonctionnent pas avec des nombres négatifs ou nuls.

Python génère une erreur lorsque vous essayez d’utiliser un nombre négatif sur une opération qui n’en prend pas en charge. Dans ce guide, nous allons parler de la cause de l’ValueError : math domain error. Vers la fin du guide, nous verrons une solution à ce problème.

ValueError : erreur de domaine mathématique

Le Python ValueError : erreur de domaine mathématique est levé lorsque vous utilisez un nombre qui n’est pas pris en charge par une opération mathématique. Cette erreur est généralement générée avec la méthode sqrt() et la méthode log().

La ValueError est un type d’erreur qui indique que vous effectuez une opération mathématique sur une valeur qui ne fonctionne pas avec cette opération. Dans le cas de "l’erreur de domaine mathématique", nous utilisons un nombre négatif ou un nombre zéro là o√π nous ne devrions pas être.

Parcourons un exemple du ValueError : problème d’erreur de domaine mathématique en action.

Un exemple de scénario

Nous construisons un programme qui calcule la racine carrée d’un nombre donné. Ce programme est conçu pour aider les élèves à réviser leurs connaissances sur les racines carrées.

√âcrivons un programme qui calcule la racine carrée d’un nombre donné. Nous allons commencer par importer la bibliothèque mathématique dont nous avons besoin pour calculer une racine carrée :

Ensuite, nous allons collecter un chiffre auprès de l’utilisateur :

81 % des participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi dans la technologie après assister à un bootcamp. Soyez associé à un bootcamp aujourd’hui.

Le diplômé moyen d’un bootcamp a passé moins de six mois en transition de carrière, du démarrage d’un bootcamp à la recherche de son premier emploi.

Nous invitons l’utilisateur à essayer trouver la réponse eux-mêmes, car notre programme est conçu pour aider les gens à vérifier leurs réponses. Ensuite, nous allons rechercher la racine carrée de la valeur insérée par l’utilisateur :

Nous convertissons la valeur de "number‚", qui stocke le nombre dont l’utilisateur veut trouver la racine carrée, en un entier. Ceci est nécessaire car la méthode input(), que nous avons utilisée pour collecter le nombre susmentionné, renvoie une chaaîne. Nous ne pouvons pas trouver la racine carrée d’une valeur de chaaîne.

Enfin, affichons la réponse sur la console :

Nous utilisons un format() déclaration pour ajouter des nombres à notre chaaîne. Notre chaaîne affichera :

Testons notre programme avec un nombre négatif :

Nous avons inséré la valeur -16 dans notre programme. Notre code a renvoyé une erreur.

Corrigons cette erreur.

Pour corriger cette erreur, nous devons indiquer à l’utilisateur que vous ne pouvez pas calculer la racine carrée d’un nombre négatif avant d’exécuter la fonction math. sqrt().

Révisons notre code pour que cela se produise :

Nous utilisons une instruction if pour vérifier si le nombre que l’utilisateur insère dans le programme est égal ou supérieur à zéro. Si le nombre répond à ce critère, le contenu de l’instruction if s’exécute. Sinon, l’instruction else s’exécute, nous présentant un message indiquant que nous avons inséré un nombre invalide.

Laissons réexécuter notre programme. Notre programme renvoie :

Notre code fonctionne avec succès.

Conclusion

La ValueError : math domain error est levée lorsque vous effectuez une fonction mathématique sur un nombre négatif ou nul qui ne peut pas être calculé. résolvez cette erreur, assurez-vous d’utiliser un nombre valide pour la fonction mathématique que vous utilisez.

Si vous souhaitez en savoir plus sur le codage en Python, consultez notre Guide d’apprentissage de Python. Ce guide contient un certain nombre de ressources d’apprentissage, de cours et de livres conçus pour les personnes qui apprennent le langage de programmation Python.