ミニ作品:相談ボット
Lv1のしめくくりです。「相談ボット」を作ります。複数の質問に答えてもらい、答えに応じてはげましのメッセージを返すプログラム。input・if・elif・f-string をすべて使います。
🧠 できるようになること
- 複数の質問とその回答を組み合わせて応答できる
- Lv1で学んだすべての要素を組み合わせる
- 自分のオリジナル相談ボットを完成させる
🧰 用意するもの
- パソコン
- ブラウザ(Chrome / Edge / Safari)
- インターネット接続
- Trinket(https://trinket.io/python)
🖼 できあがり
「いま元気?」「学校は楽しい?」「最近うれしかったことは?」など3つの質問に答えると、その答えに応じて違うメッセージが返ってきます。
📺 実行結果
🤖 こんにちは!相談ボットです。 お名前は? はなこ いま元気?(はい/いいえ): いいえ どんなときがつらい? 勉強 ────────────── はなこさん、元気がないんだね。 勉強がつらいときは、まず深呼吸して、5分だけ休んでみて。 少しずつでだいじょうぶ。応援しているよ。
🚀 やりかた
- 名前を聞く。
- 「いま元気?」を聞いて、答えで分岐するメッセージを準備。
- つらいことを具体的に聞く。
- 答えに応じてアドバイスを変える。
- f-stringで名前を入れた応援メッセージを表示。
🐍 きょうのコード
Python
main.py
print("🤖 こんにちは!相談ボットです。")
name = input("お名前は? ")
ok = input("いま元気?(はい/いいえ): ")
print("──────────────")
if ok == "はい":
print(f"よかった!{name}さん、その調子で今日も楽しもう。")
else:
trouble = input("どんなときがつらい? ")
print(f"{name}さん、元気がないんだね。")
if trouble == "勉強":
print("勉強がつらいときは、まず深呼吸して、5分だけ休んでみて。")
elif trouble == "友達":
print("人間関係はむずかしいよね。今日は無理せず、自分を大事にして。")
else:
print(f"{trouble}でつらいんだね。話してくれてありがとう。")
print("少しずつでだいじょうぶ。応援しているよ。")
上のコードをコピーして、Trinketの左のエリアに貼り付け、Runボタン(▶)を押すと動きます。
💡 きょうのポイント
Lv1で学んだ input・if/elif/else・f-string・変数 をすべて組み合わせると、こんな対話プログラムが作れます。これがプログラミングの基本パターン。次のLv2では、これに「くりかえし」と「リスト」が加わります。
🎮 チャレンジ
- 質問を5つ以上にして、もっと深く聞ける相談ボットにしよう
- 答えに応じたアドバイスをもっとバリエーション豊かにしよう
- 最後に「もう一度話す?」と聞いて、Yesなら最初に戻れるようにしよう(次回でやります)
🔁 ふりかえり
- Lv1で学んだ機能で、一番役に立ったのは?
- 相談ボットを作ってみて、本物のAIチャットボットとは何が違うと思う?
- 次のLv2では「くりかえし」が出てきます。何が便利になりそう?
👨👩👧 おうちの人・先生へ
- 準備:なし。
- つまずきポイント:
ifの中にifを入れる(ネスト)でインデントが2段階になります。インデントの段数を意識させてください。 - 声かけ例:「LINEのチャットボットや、お店の予約ボットも、こういう仕組みでできている」と現実とつなげると関心が深まります。
- 所要時間:25〜35分。創作要素が大きいので個人差あり。
- 発展:本物のAIチャットボット(ChatGPTなど)は機械学習で作られていますが、ルールベースのボットは今回のような
ifの集まりです。