見出し画像

Step12 プログラムの拡張--小さなアプリを大きく育てていく考え方

前回は、関数を使って「おみくじ」「計算機」「成績判定」「質問アプリ」など、少しだけ実践的なプログラムを作りましたね。
今回は、「小さなアプリをどうやって大きくしていくか」 という考え方や感覚を身につけていきましょう!


1. 小さく作って大きく育てる

プログラミングでは、最初から完璧な大きなアプリを作ろうとしたり、大きなアイディアを企画しようとすると、途中で挫折しがちです。
まずは
小さく動くものを作る改良を重ねる新しい機能を追加する
という流れで、アプリを「育てる」感覚を持つことが大切になります。

アジャイル開発という考え方

ソフトウェア開発の世界では、アジャイル開発 という考え方があります。
これは「最初から大きく完璧なものを作るのではなく、小さく動くものを作って、少しずつ改良していく」という方法で、

  • まずはシンプルに動く「最小限のアプリ」を作る

  • 改良や機能追加を繰り返しながら育てる

  • 動かしながら確認 → 改善 → 次の機能を追加

といった考え方であり、「変化が激しく顧客のニーズが変動しやすい現代」において、「短期間のサイクルを繰り返しながら、機能ごとに開発を進める」など、迅速に成果物を提供していくことを意識した開発手法のことです。

実は、これはプログラミング学習時においても重要な考え方となります。
最初に完璧を目指すよりも、「まずは動くものを作り、少しずつ成長させていく」 ほうが、基礎を固め学びを深めながら、達成感も得られる大切なことなのです。


2. 具体例:おみくじアプリを育てる

前回作ったシンプルなおみくじを少しずつ改良してみます。

Step 1:基本のおみくじ

import random

def omikuji():
    results = ["大吉", "中吉", "小吉", "凶"]
    print("今日の運勢は…", random.choice(results))

omikuji()

Step 2:結果に応じてメッセージを追加

単に「リスト」を作るのではなく、ここは「辞書」に変更して、結果と共に当たったときのメッセージもセットにしてみましょう。
※ choice ➤ 運勢(キー)
※ results[choice] ➤ メッセージ(値)

def omikuji():
    results = {
        "大吉": "最高の一日になりそう!",
        "中吉": "いいことがあります。",
        "小吉": "ちょっといい日になるかも。",
        "凶": "気をつけて行動しよう。"
    }
    choice = random.choice(list(results.keys()))
    print("今日の運勢は…", choice)
    print(results[choice])

omikuji()

Step 3:何度でも引けるようにする

一回だけよりも、何回でもチャレンジできるようにするといいかもしれませんね。(ん?10連ガチャ形式でもいいかも・・・)
「While True:」と「Input」を利用して、特定のキー(y以外)が入力されるまでは何度でも繰り返せるようにしてみましょう。

def omikuji():
    results = {
        "大吉": "最高の一日になりそう!",
        "中吉": "いいことがあります。",
        "小吉": "ちょっといい日になるかも。",
        "凶": "気をつけて行動しよう。"
    }
    while True:
        choice = random.choice(list(results.keys()))
        print("今日の運勢は…", choice)
        print(results[choice])
        again = input("もう一度引きますか? (y/n): ")
        if again.lower() != "y":
            print("終了します。")
            break

omikuji()

いかがでしょうか?(*^^*)
こうして、少しずつ機能を追加していけばだんだんと「遊べるアプリ」に成長してきました!

また、作成途中に「他の面白そうなアイディア」をひらめいたり、「もっとこうしたらいいのにな・・・」といった改善点が思い浮かんだりしたのではないでしょうか?
それこそがまさに、「ちょっとずつ作成する」ことのポイントであり、きっとそう感じることが出来たのなら、あなたはもう「エンジニア的な思考」になりつつあるのだと言えるでしょう(*'▽')


3. 改良・拡張のアイデア

  • UIを工夫する:表示を見やすくする、絵文字や飾りを追加

  • データを増やす:運勢の種類を増やす、日替わりの結果を作る

  • 複数機能にする:占いだけでなく、ラッキーカラーやアドバイスを表示

  • 外部ファイルを使う:結果やメッセージをテキストファイルに保存して読み込む


4. 学びのポイント

  • 完璧じゃなくても動くものをまず作る

  • 追加機能は「一度に一つずつ」

  • 改良したら実行して確認 → うまく動けば次のステップへ

小さな成功体験を積み重ねることで、プログラミングの楽しさと自信がどんどん育ちますよ!


練習問題

※前回(Step11)の内容を参考にして取り組んでみてください。

  1. おみくじに「ラッキーカラー」を追加して表示してみましょう。

  2. 計算機に「べき乗(aのb乗)」を追加してみましょう。

  3. 成績判定プログラムに「平均点」を表示する機能を追加しましょう。

  4. 質問アプリに「好きな色」「好きな動物」など複数の質問をする機能を追加しましょう。

  5. 自分で作ったプログラムに新しい要素を1つ追加してみましょう。


まとめ

  • プログラムは「小さく作って大きく育てる」のがコツ

  • 1つずつ改良していくことで、自然に学びが深まる

  • 改良するたびに動作を確認して、達成感を味わおう

次回は、こうして育てたアプリをさらに発展させるために、ファイル操作や外部データの活用 に挑戦していきましょう!

次の記事


いいなと思ったら応援しよう!

DOI@日々学びの本質を考え続ける探求者 よろしければ応援お願いします! いただいたチップは引き続きプログラミングや学びについて、皆さんの利益になるようなよい記事を書くことで恩返しをさせていただきます!