Maison >développement back-end >Tutoriel Python >Pourquoi Python renvoie-t-il une « IndentationError : unindent ne correspond à aucun niveau d'indentation externe » ?

Pourquoi Python renvoie-t-il une « IndentationError : unindent ne correspond à aucun niveau d'indentation externe » ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-08 15:54:11702parcourir

Why Does Python Throw an

Retrait cohérent avec des espaces ou des tabulations

Lorsque vous rencontrez l'erreur « IndentationError : unindent ne correspond à aucun niveau d'indentation externe » en Python, malgré une indentation apparemment correcte, cela indique souvent une incohérence dans indentation.

Plus précisément, Python nécessite une utilisation cohérente d'espaces ou de tabulations pour l'indentation. Mélanger ces caractères peut prêter à confusion et générer l'erreur ci-dessus.

Par exemple :

Considérez le code suivant :

import sys

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

Ce code produit l'erreur car il y a un mélange de tabulations et d'espaces dans l'indentation. Pour résoudre ce problème, remplacez les tabulations par des espaces ou vice versa.

Utilisation des espaces :

import sys

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

print(Factorial(10))

Utilisation des tabulations :

import sys

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

print(Factorial(10))

Assurez-vous que l'indentation est cohérente dans tout votre code et évitez de mélanger les espaces et les tabulations pour éviter cela erreur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn