デジタルこどもBASEのロゴ 特定非営利活動法人デジタルこどもBASE 📚 目次
第58回 Lv2 ⏱ 20〜25分

関数を組み合わせよう

🎯 きょうのミッション

大きなプログラムは、小さな関数の組み合わせで作るのが基本。挨拶する関数・質問する関数・お礼を言う関数を別々に作って、メインから呼び出します。

🧠 できるようになること

  • 複数の関数を1つのプログラムで使える
  • 関数を組み合わせて読みやすいコードが書ける
  • main() パターンを体験する

🧰 用意するもの

🖼 できあがり

挨拶→質問→お礼の3ステップ会話プログラムが、3つの関数の連携で動きます。

📺 実行結果
🤖 こんにちは!ぼくはラボボットです。
お名前は? はなこ
はなこさん、ありがとう!

🚀 やりかた

  1. def greet(): 挨拶を表示する関数。
  2. def ask_name(): 名前を聞いて返す関数。
  3. def thanks(name): お礼を言う関数。
  4. def main(): でこれらを順番に呼び出す。
  5. 最後に main() を呼ぶ。

🐍 きょうのコード

Python main.py
def greet():
    print("🤖 こんにちは!ぼくはラボボットです。")

def ask_name():
    name = input("お名前は? ")
    return name

def thanks(name):
    print(f"{name}さん、ありがとう!")

def main():
    greet()
    name = ask_name()
    thanks(name)

main()
▶ Trinketを開いて動かす

上のコードをコピーして、Trinketの左のエリアに貼り付け、Runボタン(▶)を押すと動きます。

💡 きょうのポイント

プログラムを機能ごとに関数に分けると、読みやすく・直しやすくなります。main() 関数で全体の流れを管理するのが、プロのプログラマもよく使うパターン。

🎮 チャレンジ

  • say_goodbye(name) 関数を追加して、最後にバイバイ言わせよう
  • ask_name に「やり直したいときは「もう一度」と打つ」機能を追加
  • greet() をランダムな挨拶リストから選ぶようにしよう

🔁 ふりかえり

  • 関数を分ける良いところは?
  • main() の中身を読むだけで、プログラムの流れがわかる?
  • もっと長いプログラムでは、関数はもっと役立ちそう?

👨‍👩‍👧 おうちの人・先生へ

  • 準備:なし。
  • つまずきポイント:関数の定義順序。main() を呼ぶ前にすべての関数が定義されている必要がある。
  • 声かけ例:「これでプロのプログラマと同じ書き方」と励まして。複数関数の概念は中級にも繋がります。