【Python】IndentationError: unindent does not match any outer indentation level が出たときの対処法

目次

エラー発生の経緯

Pythonで繰り返し処理(for文)を実行しようとしたところ、
次のエラーが発生しました。

IndentationError: unindent does not match any outer indentation level

このエラーは、インデント(字下げ)に不整合がある場合に発生します。

実際に実行したコマンド

for i in range(4):
    ans = i + 10
 print(ans)

このコードを実行したところ、エラーが表示されました。

原因

Pythonでは、インデント(字下げ)に厳密なルールが存在します。

上記コードでは、print(ans)の行だけ、インデントが揃っていなかったため、
エラーが発生しました。

特にPythonでは、インデントが「タブ」か「スペース」かの違いでもエラーが出ることがあるため、
目に見えないズレにも注意が必要です。

対処法

インデントを揃えて記述することで解決します。

正しいコード例

for i in range(4):
    ans = i + 10
    print(ans)

これを実行すると、次のように出力されます。

10
11
12
13

無事に、繰り返し処理と出力ができました。

補足|インデントミスが起こりやすい場面

  • 長いプログラムを入力しているとき
  • ページをまたいだコードを書いているとき
  • コピー&ペーストをした後
  • タブとスペースが混在しているとき

私自身も、ゲームプログラミングの教材を学んでいた際、
6ページ(約700行)にも及ぶテキストコードを入力していたときに、
インデントミスを頻繁に起こしていました。

特にページをまたぐと、前のインデントを忘れてしまうことが多いので、
皆さまも十分にお気をつけください。

まとめ

  • Pythonではインデントは非常に重要です。
  • インデントが統一されていないとエラーになります。
  • 長いプログラムを書くときは、常にインデントの整合性を意識しましょう。

ここまで読んでいただき、誠にありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次