まず結論

SyntaxError: invalid syntax は、Pythonが文法として読めない書き方を見つけたときに出ます。

if score >= 60
    print("合格")

このコードでは、if の行の最後に : がないためエラーになります。

読む目安

次のようなエラーで止まった人向けです。

SyntaxError: invalid syntax

意味は「文法が正しくありません」です。

イメージで考える

SyntaxError は、Pythonが文の形を読み取れなかった合図です。

コロン、かっこ、引用符は、文の形を作る留め具のようなものです。

留め具が1つ足りないと、Pythonは「この文はどこで終わるの?」と迷います。

コロン忘れ

ifforwhiledef の行では、最後に : が必要です。

if score >= 60:
    print("合格")

コロンがないと、Pythonは次の行との関係を読めません。

かっこ忘れ

かっこを閉じ忘れてもエラーになります。

print("こんにちは"

この場合、) が足りません。

引用符忘れ

文字列の引用符を閉じ忘れることもあります。

message = "こんにちは

" が片方しかないため、文字列の終わりが分かりません。

直前の行を見る

エラー表示の行が原因とは限りません。
直前の行でかっこや引用符を閉じ忘れていると、次の行でエラーに見えることがあります。

読み方のコツ

SyntaxError が出たら、まず次の3つを見ます。

  • コロン : を忘れていないか
  • かっこ () を閉じているか
  • 引用符 "' を閉じているか

文の形を整えると直ることが多いです。

手を動かすミニ練習

次のコードの : を消して、エラー文を見てみましょう。

if 3 > 1:
    print("OK")

SyntaxError は、Pythonが文の形を読めないときに出ます。