flotteur de gamme Python

Python a deux types de données qui représentent des nombres : les flottants et les entiers. Ces types de données ont des propriétés distinctes.

Si vous essayez d’utiliser un flottant avec une fonction qui ne prend en charge que les entiers, comme la fonction range(), vous rencontrerez le "TypeError: ‚Äòfloat‚Äô l’objet ne peut pas être interprété comme un entier" error.

Dans ce guide, nous expliquons ce que signifie ce message d’erreur et quelles en sont les causes. Nous allons parcourir un exemple de cette erreur afin que vous puissiez trouver comment la résoudre dans votre programme.

TypeError : ‚Äòfloat‚Äô l’objet ne peut pas être interprété comme un entier

Les nombres à virgule flottante sont des valeurs qui peuvent contenir une virgule décimale. Les entiers sont des nombres entiers. Il est courant en programmation que ces deux types de données soient distincts.

En programmation Python, certaines fonctions comme range() ne peut interpréter que des valeurs entières. En effet, ils ne sont pas entraaînés à convertir automatiquement les valeurs à virgule flottante en un entier.

Cette erreur est généralement générée lorsque vous utilisez range() avec une virgule flottante number pour créer une liste de nombres dans une plage donnée.

Python ne peut pas traiter cela car Python ne peut pas créer une liste de nombres entre un nombre entier et un nombre décimal. L’interpréteur Python ne saurait pas comment incrémenter chaque nombre de la liste si ce comportement était autorisé.

Un exemple de scénario

Nous allons créer un programme qui calcule les ventes totales de fromages chez un fromager au cours des trois derniers mois. Nous demanderons à l’utilisateur pour combien de fromages il souhaite calculer les ventes totales. Nous effectuerons ensuite le calcul.

81 % des participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi dans la technologie après avoir assisté à un bootcamp. Soyez jumelé à 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.

Commencez par définir un liste des dictionnaires avec des informations sur les ventes de fromages :

Ensuite, nous demandons à l’utilisateur combien de chiffres de ventes il souhaite calculer :

Nous convertissons la valeur que l’utilisateur insère en virgule flottante. En effet, la méthode input() renvoie une chaaîne et nous ne pouvons pas utiliser une chaaîne dans une instruction range().

Ensuite, nous parcourons les premiers fromages de notre liste en fonction du nombre de chiffres que le fromager veut calculer. Nous le faisons à l’aide d’un boucle for et une instruction range() :

Notre code utilise la méthode sum() pour calculer le nombre total de fromages vendus dans les listes de "ventes" de nos dictionnaires.

Imprimez le nombre de fois que chaque fromage a été vendu à la console. Notre boucle s’exécute un nombre de fois égal au nombre de chiffres de vente que le fromager a indiqué qu’ils veulent calculer.

Exécutez notre code et voyez wh at arrive :

Notre code nous demande combien de chiffres nous voulons calculer. Une fois que nous avons soumis un nombre, notre code cesse de fonctionner.

La solution

Le problème dans notre code est que nous essayons de créer une plage en utilisant un nombre à virgule flottante. Dans notre code, nous convertissons "total_sales‚" à un flotteur. En effet, nous avons besoin d’un nombre pour créer une plage à l’aide de l’instruction range().

L’instruction range() n’accepte que les entiers . Cela signifie que nous ne devons pas convertir total_sales en float. Nous devrions plutôt convertir total_sales en nombre entier.

Pour résoudre ce problème, modifiez la ligne de code o√π nous demandons à un utilisateur combien de chiffres de ventes il souhaite calculer :

Nous convertissons maintenant total_sales en un entier au lieu d’une valeur à virgule flottante. Nous effectuons cette conversion en utilisant la méthode int().

Exécutons notre code :

Notre code calcule avec succès combien de les deux premiers fromages de notre liste ont été vendus.

Conclusion

L’erreur "TypeError : "float" ne peut pas être interprétée comme un entier" apparaaît lorsque vous essayez d’utiliser un nombre à virgule flottante à un endroit o√π seul un entier est accepté.

Cette erreur est courante lorsque vous essayez d’utiliser un nombre à virgule flottante dans un range() Pour résoudre cette erreur, assurez-vous d’utiliser des valeurs entières dans une instruction range(), ou toute autre instruction intégrée qui semble être à l’origine de la e erreur.

Vous avez maintenant les compétences et le savoir-faire nécessaires pour résoudre cette erreur comme un pro !