l’objet Python int n’est pas itérable

Rencontrer une erreur n’est pas un problème ; c’est une opportunité d’apprentissage. Lors du développement en Python, vous avez peut-être vu une erreur "‚Äòint‚Äô l’objet n’est pas itérable".

Qu’est-ce que cela signifie ? Comment le résoudre ? Telles sont les questions auxquelles nous allons répondre dans cet article. Nous discuterons de ce que le "‚Äòint‚Äô l’objet n’est pas itérable " l’erreur est, pourquoi elle est déclenchée et comment vous pouvez la résoudre.

Le problème : typeerror : ‚Äòint‚Äô l’objet n’est pas itérable

"typeerror : ‚Äòint‚Äô l’objet n’est pas itérable‚"

Il y a deux parties dans ce message d’erreur : TypeError et le message d’erreur.

Une TypeError est levée lorsqu’une fonction est appliquée à un objet du mauvais type de données. Par exemple, si vous essayez d’appliquer une fonction mathématique à une chaaîne ou d’appeler une valeur comme une fonction qui n’est pas une fonction, une TypeError est levée.

Le message d’erreur nous indique que vous ont essayé d’itérer sur un objet qui n’est pas itérable. Les objets itérables sont des éléments dont vous pouvez accéder aux valeurs à l’aide d’une "boucle for‚".

Un scénario pratique

L’un des scénarios les plus courants dans lequel cette erreur se produit est lorsque vous essayez d’utiliser une boucle for avec un nombre. Cette erreur est commise car il est facile d’oublier d’utiliser la fonction range() lorsque vous utilisez une boucle for.

Considérez l’extrait de code suivant :

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

Cet extrait de code utilise une fonction . La fonction count_occurance compte combien de fois un nombre apparaaît dans les "values‚" liste. Cette fonction itère sur toutes les valeurs de "values‚" et conserve un total cumulé de tous ceux qui sont égaux à un nombre particulier. Ce nombre est spécifié en tant que paramètre appelé "to_find‚".

Dans notre programme principal, nous définissons une liste appelée "valeurs" avec quatre valeurs. Nous appelons notre fonction count_occurrence pour compter combien de trois sont dans notre liste de valeurs. Nous imprimons ensuite la réponse à la console.

Exécutons notre code :

Oh non ! Une erreur s’est produite. Maintenant que nous avons répliqué cette erreur, nous pouvons la résoudre.

La solution

Notre erreur nous indique que nous avons essayé d’itérer sur un objet qui n’est pas itérable. Si nous regardons le message d’erreur en détail, nous pouvons voir e il nous indique la ligne o√π le problème se produit :

Le problème avec cette ligne est que nous essayons d’itérer sur un nombre.

len(values) est égal à 4. C’est combien de valeurs sont dans la liste "values‚". Si nous essayons d’itérer sur un nombre, rien ne se passe. En effet, les boucles for ne fonctionnent qu’avec des objets itérables.

Pour résoudre ce problème, nous devons nous assurer que notre boucle for itère sur un objet itérable. Nous pouvons ajouter une instruction range() à notre code pour ce faire :

Cette instruction créera un objet itérable avec une liste de valeurs dans la plage de 0 et le nombre d’éléments dans les "values‚" list.

Essayons d’exécuter à nouveau notre code avec l’instruction range(). Notre code renvoie :

Notre code a trouvé avec succès toutes les instances de 3 dans la liste. Notre code les a tous comptés puis imprimé le nombre total de fois o√π 3 apparaaît dans la liste sur la console.



Conclusion

Les erreurs de type sont courantes type d’erreur en Python. Ils se produisent lorsque vous essayez d’appliquer une fonction sur une valeur du mauvais type. Un objet "‚Äòint‚Äô n’est pas itérable" une erreur est générée lorsque vous essayez d’itérer sur une valeur entière.

Pour résoudre cette erreur, assurez-vous que vous itérez sur un itérable plutôt que sur un nombre.

Maintenant vous êtes prêt à résoudre cette erreur comme un Pythonista !