生成AIに先生になってもらい、プログラミング学習の質を高めよう

プログラミングの学習を始めて最初に訪れる壁としまして、エラーがあります。

例えば、

fruit = "apple"
if fruit == "apple"
	print(fruit)

のようなコードを実行した時に、

File "/home/pi/main.py", line 2
    if fruit == "apple"
                       ^
SyntaxError: expected ':'

というエラーが表示されたとします。

表示された内容は英語や記号ばかりで戸惑ってしまいます。


そんな時は深く考えずに生成AIに質問をするようにしましょう。

先程のエラーメッセージをそのままコピーして、下記のような質問文(プロンプト)にします。

File "/home/pi/main.py", line 2
    if fruit == "apple"
                       ^
SyntaxError: expected ':'の説明を小学生向けでお願いします

この質問文をGoogle製の生成AIのGeminiを開いて相談してみます。




Geminiからは下記のような内容が返ってきました。

/********************************/

こんにちは! プログラミングのエラー、ちょっとびっくりするよね。でも大丈夫、いっしょに見てみよう!

エラーメッセージ SyntaxError: expected ':' は、コンピューターが「あれ? ルールと違う書き方になってるよ! : がいるはずの場所にないよ!」って教えてくれているんだ。

エラーが出ている場所

ファイルの名前: /home/pi/main.py

エラーがある行: 2行目

何が問題なの?

Pythonっていうプログラミング言語では、「もし〜だったら、〜する」っていう命令を書くときに特別なルールがあるんだ。


Python

if fruit == "apple"

これは「もし fruit が "apple" だったら」っていう意味だね。

この「もし〜だったら」の条件を書いたあとには、必ず : (コロン)を付けるっていうルールになっているんだ。


学校で文の最後に「。」をつけるのと同じような感じだよ。 : は、「ここから『もし〜だったら』の時にやることを書くよ!」っていう合図なんだ。

どうすれば直るの?

エラーが出ている2行目の if fruit == "apple" の最後に : をつけてあげればOK!


Python

if fruit == "apple":  # ← この「:」を最後につけてあげよう!
    # もしリンゴだったら、ここにやりたいことを書く

こうすれば、コンピューターはちゃんと命令を理解してくれるようになるよ。

プログラミング、がんばってね!応援してるよ!

/********************************/


まるで先生のように優しく返答してくれます。

バグコードの修正は確実にコーディング力は上がりますが、一人で学習している時は挫折の要因に成り得る箇所です。


生成AIを味方に付けて、初学者が苦戦する箇所を一緒に乗り越えていきましょう。

マインクラフト用ビジュアルエディタを開発しています。

詳しくはinunosinsi/mcws_blockly - githubをご覧ください。