Les erreurs d’indentation ont deux objectifs : elles contribuent à rendre votre code plus lisible et garantissent que l’interpréteur Python comprend correctement votre code. Si vous ajoutez un espace ou un onglet supplémentaire là o√π vous n’en avez pas besoin, vous rencontrerez une "Error d’indentation : retrait inattendu‚" error.
Dans ce guide, nous discutons de la signification de cette erreur et de la raison pour laquelle elle est déclenchée. Nous allons parcourir un exemple de cette erreur afin que vous puissiez trouver comment la corriger dans votre programme.
Erreur d’indentation : retrait inattendu
Un retrait est un nombre spécifique d’espaces ou des tabulations indiquant qu’une ligne de code fait partie d’un bloc de code particulier. Considérez le programme suivant :
Nous avons défini une seule fonction : hello_world()
. Cette fonction contient une instruction print. Pour indiquer à Python que cette ligne de code fait partie de notre fonction, nous l’avons indentée.
Vous pouvez indenter le code en utilisant des espaces ou des tabulations, selon votre préférence. Vous ne devez indenter le code que si ce code doit faire partie d’un autre bloc de code. Cela inclut lorsque vous écrivez du code dans :
Le code Python doit être indenté de manière cohérente s’il apparaaît dans une instruction spéciale. Python applique strictement l’indentation.
Certains langages de programmation comme JavaScript n’appliquent pas strictement l’indentation, car ils utilisent des accolades pour désigner des blocs de code. Python n’a pas cette fonctionnalité, donc le langage dépend fortement de l’indentation.
La cause de l’erreur "IndentationError : indentation inattendue‚" l’erreur consiste à indenter trop votre code ou à utiliser trop de tabulations et d’espaces pour indenter une ligne de code.
81 % des participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi dans le domaine technique 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.
Les autres erreurs d’indentation que vous pouvez rencontre sont :
- Unindent ne correspond à aucun autre niveau d’indentation
- Attendu un indenté block
Un exemple de scénario
Nous allons créer un programme qui parcourt une liste des achats effectués par un utilisateur et imprime tous ceux qui sont supérieur à 25,00 $ à la console.
Pour commencer, définissons une liste d’achats :
Ensuite, nous définissons une fonction pour parcourir notre liste d’achats et imprimer ceux d’une valeur de plus de 25 $ à la console :
La fonction show_high_purchases()
accepte un argument : la liste des achats dans laquelle la fonction recherchera . La fonction parcourt cette liste et utilise une instruction if
pour vérifier si chaque achat vaut plus de 25,00 $.
Si un achat est supérieur à 25,00 $, l’instruction Achat :
est imprimé sur la console. Ensuite, le prix de cet achat est imprimé sur la console. Sinon, rien ne se passe.
Avant d’exécuter notre code, appelons notre fonction et passons notre liste d’achats en paramètre :
Laissons exécuter notre code et voyez ce qui se passe :
Notre code ne s’exécute pas correctement.
La solution
Comme pour toute erreur Python, nous devrions lire l’erreur complète message pour voir ce qui se passe. Le problème semble être à la ligne 7, o√π nous imprimons la valeur d’un achat.
Nous avons incidemment indenté la deuxième instruction print()
. Cela provoque une erreur car notre deuxième instruction print()
ne fait pas partie d’un autre bloc de code. Cela fait toujours partie de notre déclaration if
.