plage d’entiers Python

La méthode range() n’accepte que des valeurs entières en tant que paramètre. Si vous essayez d’utiliser la méthode range() avec une valeur de chaaîne, vous rencontrerez la "TypeError : ‚Äòstr‚Äô l’objet ne peut pas être interprété comme un entier" error.

Ce guide explique pourquoi vous pouvez rencontrer cette erreur et ce que cela signifie. Nous allons parcourir un exemple de scénario pour vous aider à comprendre ce problème et à le résoudre dans votre programme.

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

La méthode range() crée une liste de valeurs dans une plage particulière. Elle est couramment utilisée avec une boucle for pour exécuter un certain nombre d’itérations.

La méthode accepte uniquement les valeurs entières comme arguments. En effet, les valeurs créées par range() sont des entiers. Considérez le programme suivant :

Notre programme imprime cinq entiers sur la console :

Si range() acceptait les chaaînes, il serait plus difficile pour la fonction de déterminer quelle plage de nombres doit être créée. C’est pourquoi vous devez toujours spécifier des entiers comme arguments. Dans l’exemple ci-dessus, 5 et 10 étaient nos arguments.

Un exemple de scénario

Nous allons construire un programme qui permet à une pizzeria de voir les noms et les prix des plus pizzas populaires sur leur menu. Pour commencer, définissez deux listes qui stockent les informations avec lesquelles notre programme fonctionnera :

Ces listes sont parallèles et apparaissent par ordre de popularité d’une pizza. Cela signifie que les valeurs à une position particulière dans la liste correspondent les unes aux autres. Par exemple, le prix d’un "Brie et Ciboulette" la pizza co√ªte 9,50 $.

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 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.

Notre prochaine t√¢che est de demander l’utilisateur combien de pizzas il souhaite afficher. Nous pouvons le faire en utilisant une instruction input() :

Nous connaissons maintenant le nombre de pizzas que l’utilisateur recherche informations, nous pouvons utiliser une boucle for pour imprimer chaque pizza et son prix sur la console :

Notre programme imprime un message contenant le nom de chaque pizza et le prix de cette pizza. Notre boucle s’arrête lorsqu’elle a parcouru le nombre de pizzas qu’un utilisateur a demandé à afficher sur la console.

Exécutons notre programme et voyons si cela fonctionne :

Notre programme renvoie une erreur sur la ligne de code o√π nous définissons notre boucle for.

La solution

Nous avons créé une boucle for qui s’exécute un certain nombre de fois en fonction de la valeur que l’utilisateur a insérée dans la console.

Le problème avec notre code est que input() renvoie une chaaîne, pas un entier. Cela signifie que notre instruction range() essaie de créer une plage de valeurs à l’aide d’une chaaîne, ce qui n’est pas autorisé. Voici ce que notre code a évalué dans notre programme :

Pour corriger cette erreur, nous devons convertir "to_display‚" à un entier. Nous pouvons le faire en utilisant la méthode int() :

"to_display‚" est maintenant un entier. Cela signifie que nous pouvons utiliser la valeur pour créer une plage de nombres. Exécutons notre code :

Notre code imprime avec succès les informations que nous avons demandées. Nous pouvons voir les noms des deux pizzas les plus populaires et les prix de ces pizzas.

Conclusion

L’erreur "TypeError : ‚Äòstr‚Äô objet ne peut pas être interprété comme un entier‚" erreur est levée lorsque vous passez une chaaîne en argument dans un instruction range(). Pour corriger cette erreur, assurez-vous que toutes les valeurs que vous utilisez dans une instruction range() sont des entiers.

Maintenant vous avez les connaissances dont vous avez besoin pour corriger cette erreur comme un professionnel !