ホームページ >バックエンド開発 >Python チュートリアル >Python が「IndentationError: unindent is not match any external indentation level」をスローするのはなぜですか?

Python が「IndentationError: unindent is not match any external indentation level」をスローするのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-08 15:54:11693ブラウズ

Why Does Python Throw an

スペースまたはタブを使用して一貫してインデントする

Python で「IndentationError: unindent doesn't match any external indentation level」エラーが発生した場合、一見正しいインデントであっても、多くの場合、インデントは不一致を示しています。 indentation.

具体的には、Python ではインデントにスペースまたはタブを一貫して使用する必要があります。これらの文字を混在させると混乱が生じ、上記のエラーが発生する可能性があります。

例:

次のコードを考えてみましょう:

import sys

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

このコードインデントにタブとスペースが混在しているため、エラーが発生します。これを修正するには、タブをスペースに置き換えるか、その逆を行います。

スペースの使用:

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

タブの使用:

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

コード全体でインデントが一貫していることを確認し、スペースとタブの混在を避けてください。このエラーを防ぐため。

以上がPython が「IndentationError: unindent is not match any external indentation level」をスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。