J'ai un script Python:
if True:
if False:
print('foo')
print('bar')
Cependant, lorsque j'essaie d'exécuter mon script, Python génère une IndentationError
:
File "script.py", line 4
print('bar')
^
IndentationError: unindent does not match any outer indentation level
J'ai continué à jouer avec mon programme et j'ai également pu produire trois autres erreurs:
IndentationError: unexpected indent
IndentationError: expected an indented block
TabError: inconsistent use of tabs and spaces in indentation
Que signifient ces erreurs? Qu'est-ce que je fais mal? Comment puis-je réparer mon code?
Si vous codez dans Sublime Text 3, cela pourrait vous aider à résoudre les problèmes d’indentation.
Dans Sublime Text, lors de l'édition d'un fichier Python:
Menu Sublime Text>Préférences>Paramètres - Syntaxe spécifique:
Python.sublime-settings
{
"tab_size": 4,
"translate_tabs_to_spaces": true
}
Solution rapide pour les utilisateurs de Sublime:
Vous voyez, vous avez une petite erreur.
if True:
if False:
print('foo')
print('bar')
Vous étiez censé faire:
if True:
if False:
print('foo')
print('bar')
Comme vous pouvez le voir, votre impression n’est que de 3 espaces en retrait, elle est supposée en avoir 4.