目次
エラー発生の経緯
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ではインデントは非常に重要です。
- インデントが統一されていないとエラーになります。
- 長いプログラムを書くときは、常にインデントの整合性を意識しましょう。
ここまで読んでいただき、誠にありがとうございました。