IndentationError: unindent ne correspond pas à l'extérieur niveau d'indentation

Quand je compile le code Python ci-dessous, je reçois

IndentationError: unindent ne correspond pas à l'extérieur niveau d'indentation


import sys

def Factorial(n): # Return factorial
    result = 1
    for i in range (1,n):
        result = result * i
    print "factorial is ",result
    return result

Pourquoi?

  • et probablement range(1, n+1) sera mieux, si vous voulez inclure des 'n' dans votre calcul 🙂
  • J'ai eu la même erreur, mais il m'est arrivé de retrait d'une méthode dans le code légèrement vers la gauche, ce qui a donné cette erreur au bas de la méthode suivante après. Donc cette erreur peut se produire non seulement à partir d'un mélange des tabulations et des espaces.
  • J'utilise Sublime Text 3. J'ai un projet Django. J'ai corrigé l'erreur à l'aide View > Indentation > Intent Using Spaces
  • A cette question dans pycharm, le réglage des onglets et l'espacement des configs n'a pas fonctionné. Le problème est que j'avais un ~/.editorconfig fichier qui a été remplaçant la pycharm de configuration.
InformationsquelleAutor cbrulak | 2009-01-29