**【もう迷わない】Pythonのインデントエラー(IndentationError)が消えない?初心者がやりがちな3つの原因と一発解決法**
プログラミングの学習、本当にお疲れ様です!
if文やfor文などの新しい構文を覚えて、「よし、いよいよプログラムらしくなってきたぞ!」と実行ボタンを押した瞬間……
**`IndentationError: expected an indented block`**
こんな真っ赤な英語のエラーメッセージが出てきて、突然プログラムが動かなくなってしまった経験はありませんか?
教科書通りに書いたつもりだし、見た目も揃っているのに、なぜエラーになるのか分からない。英語で怒られているみたいで、なんだか焦ってしまいますよね。私も初心者の頃は、このエラーに何度も泣かされました。
でも、**どうか安心してください!**
実はこれ、あなたのプログラミングの「考え方」が間違っているわけではありません。Python特有の「ちょっとした書き方のルール(字下げ)」に引っかかっているだけなのです。
この記事では、エラーメッセージの簡単な読み方から、初心者がやりがちな3つのNGパターン、そしてキーボードを使った確実な解決手順までを分かりやすく解説します。
この記事を読み終わる**3分後には、あなたの画面から赤字のエラーがすっかり消え去っているはず**です。さっそく一緒に解決していきましょう!
—
### ステップ1:まずはエラーメッセージを読んで「何行目」か見つけよう
赤い英語のエラー文が出ると「うわっ、英語だ!」と身構えてしまいますが、すべてを読む必要はまったくありません。
探すべきなのは、**「数字」**だけです。
エラーメッセージをよく見ると、こんな一文が紛れ込んでいませんか?
> File “main.py”, **line 4**
この `line 4` こそが、Pythonからの「**4行目**の書き方がおかしいよ!」という親切なヒントです。
「IndentationError(インデントエラー)」が出たら、まずはこの `line 〇` の数字を探して、自分のコードの何行目を直せばいいのかを見つけましょう。
—
### ステップ2:エラーの原因を特定しよう(初心者の3大NGパターン)
「インデント」とは、行の先頭に空白を入れて**「文字を右にズラすこと(字下げ)」**を指します。
Pythonは、この「ズレ」を見て「ここからここまでが一つのグループだな」と判断しています。そのため、空白の数が少しでも間違っていると混乱してエラーを出してしまうのです。
初心者が陥りやすい原因は、主に以下の3つです。
#### 1. インデントがない・ズレている
if文やfor文の次の行は、必ず右にズラす必要があります。Pythonの基本ルールでは、**「4つの半角スペース」**を入れるのが正解です。このスペースを忘れていたり、3つや5つになってズレていたりするとエラーになります。
#### 2. 見えない敵「全角スペース」
これが**最も多いトラップ**です!
コードを打つときに「日本語入力モード」のままスペースキーを押してしまうと、「全角スペース」が入力されます。人間の目には同じ空白に見えますが、パソコンにとっては「全角スペース」と「半角スペース」は全くの別物。「謎の文字が入っている!」と判定されてエラーになってしまいます。
#### 3. 「タブ(Tab)」と「スペース」の混在
キーボードの「Tabキー」を押して開けた空白と、「スペースキー」を連打して開けた空白。これも見た目はそっくりですが、混ざって使われているとPythonは「どっちのルールに従えばいいの?」と迷ってしまい、エラーを起こします。
—
### ステップ3:コードを修正してエラーを一発解決!
それでは、実際にコードを直してみましょう!
よくあるif文のコードを使って、確実な直し方の手順を解説します。
**【❌ エラーが出るコード例】**
“`python
weather = “rain”
if weather == “rain”:
print(“傘を持っていきましょう”) # ←ここにインデント(字下げ)がないためエラー!
“`
2行目の終わりに `:`(コロン)があるのに、3行目の `print` が左端にくっついてしまっていますね。これではエラーになります。
**【⭕ 正しいコード例】**
“`python
weather = “rain”
if weather == “rain”:
print(“傘を持っていきましょう”) # ←先頭に半角スペース4つが入っている!
“`
#### 💡 一発で確実に直すための「魔法の3アクション」
全角スペースやタブの混在といった「見えないエラー」を確実に消し去るための、物理的なキーボード操作の手順をお伝えします。この通りに指を動かしてみてください。
1. **エラーが起きている行の先頭をクリックする**
(上の例なら、`print` の「p」のすぐ左側です)
2. **`BackSpaceキー`を押して、一度左端までピタッと戻す**
(ここにあった「見えない悪い空白」をすべて消し去ります)
3. **`Tabキー`を1回(または半角スペースを4回)押す**
たったこれだけです!
一度左端までリセットしてから、正しい空白を入れ直す。これがインデントエラーを瞬殺する最も確実なテクニックです。もう一度実行ボタンを押してみてください。無事にプログラムが動いたはずです!
—
### まとめ:エラーを乗り越えて、Pythonをもっと楽しもう!
お疲れ様でした!無事にエラーは消えましたか?
「スペースの数だけでエラーになるなんて、Pythonって厳しいな…」と思ったかもしれません。
でも実はこれ、**Pythonの優しさ**なのです。
インデントのルールが厳格に決まっているおかげで、世界中の誰が書いても、綺麗で読みやすい「美しいコード」になります。今のうちにこのルールに慣れておけば、後から絶対に「Pythonでよかった!」と思える日が来ますよ。
**【次のステップへ:もう二度とエラーで悩みたくない方へ】**
「全角スペース」や「インデントのズレ」といった見えない敵を、視覚的に防ぐ便利な方法があります。
コードエディタ(VSCodeなど)の便利機能をONにするだけで、半角スペースが「・」のような記号で見えるようになり、エラーを未然に防ぐことができるんです!
VSCodeを使っている方は、ぜひこちらの記事**『【VSCode初期設定】全角スペースを見える化してエラーを撲滅する方法(※別記事へリンク)』**を読んで、快適なプログラミング環境を整えてみてくださいね。
プログラミング学習は、エラーとの上手な付き合い方が上達の鍵です。これからも応援しています!
コメントを残す