Python | 1 日 60 分 × 7 日アプリ学習:Python文法を学ぶアプリ 単位変換編

Web APP Python
スポンサーリンク
スポンサーリンク

単位変換アプリ 1日目のゴール

単位変換アプリ 1日目のテーマは 「数値を入力して“別の単位に変換する”最小のアプリを作りながら、変数・条件分岐・繰り返し・関数・ファイル操作の基礎を体験すること」 です。

単位変換は初心者にとって非常に学びやすい題材です。 理由はシンプルで、

  • 入力するデータが数値だけで簡単
  • 計算結果がすぐに確認できる
  • 後日「複数の単位」「メニュー形式」「履歴保存」などに発展できる

というメリットがあるからです。

1日目で作るアプリのイメージ

  • メートル → キロメートル
  • キログラム → グラム
  • 摂氏 → 華氏

など、1つの単位変換を行う最小アプリを作ります。

今回の例では 「メートル → キロメートル」 を変換するアプリを作ります。

変数とは何か(単位変換で理解する)

変数は「値を入れておく箱」です。

単位変換では、次のような情報を変数に入れます。

meter = 500
kilometer = meter / 1000
Python

深掘りポイント

  • 変数名は「何が入っているか」がわかる名前にする
  • meterkilometer のように意味のある名前が重要
  • 初心者がつまずくポイントは「変数名を短くしすぎること」

条件分岐とは「状況によって動きを変えること」

単位変換アプリでの条件分岐の代表例はこれです。

  • y → 続けて変換する
  • n → アプリ終了
  • その他 → 入力ミスとして注意
answer = input("続けて変換しますか? (y/n): ")

if answer == "y":
    print("もう1件変換します。")
elif answer == "n":
    print("終了します。")
else:
    print("y か n を入力してください。")
Python

深掘りポイント

条件分岐は「ユーザーの選択に応じてアプリの流れを変えるための仕組み」。 これがないとアプリは「一度動いて終わり」になってしまいます。

繰り返しとは「同じ流れを何度も回すこと」

単位変換は複数回使うことが多いので、 「入力 → 計算 → 表示 → 続けるか聞く」 という流れを何度も繰り返します。

ここでは while True: を使います。

while True:
    # 入力処理
    answer = input("続けて変換しますか? (y/n): ")

    if answer == "y":
        pass
    elif answer == "n":
        break
    else:
        print("y か n を入力してください。")
Python

深掘りポイント

  • while True: は「無限ループ」
  • break でループを抜ける
  • コンソールアプリの基本構造

関数とは「処理に名前をつけてまとめること」

単位変換アプリでは、 「メートルをキロメートルに変換する」処理を関数にまとめます。

def convert_meter_to_km():
    ...
Python

深掘りポイント

関数を使うと、

  • コードが読みやすくなる
  • 機能ごとに整理できる
  • 後で機能を増やすときに再利用できる

というメリットがあります。

ファイル操作とは「外の世界にデータを残すこと」

今回の1日目では、 変換結果を convert_history.txt に保存します。

ポイントは次の3つ。

  • "a" → 追記モード
  • with open(...) → 自動で閉じてくれる
  • write() → 文字列を書き込む

単位変換アプリ 1日目の完成コード

ここまでの話をすべてまとめると、 次のような完成コードになります。

# 単位変換アプリ 1日目
# 目的:
# - メートルをキロメートルに変換する
# - 変換結果をファイルに保存する
# - 変数・条件分岐・繰り返し・関数・ファイル操作を体験する

def convert_meter_to_km():
    """
    メートルをキロメートルに変換し、結果をファイルに保存する関数
    """
    meter = float(input("メートルを入力してください: "))
    kilometer = meter / 1000

    print(f"{meter} m は {kilometer} km です。")

    # ファイルに保存
    with open("convert_history.txt", "a", encoding="utf-8") as f:
        f.write(f"{meter} m → {kilometer} km\n")

    print("変換結果を保存しました。convert_history.txt を確認してみてください。")


def main():
    """
    アプリ全体の流れを管理する関数
    """
    print("Python 単位変換アプリ 1日目")
    print("メートルをキロメートルに変換してみましょう。")
    print("------------------------------")

    while True:
        convert_meter_to_km()

        answer = input("続けて変換しますか? (y/n): ")

        if answer == "y":
            print("もう1件変換します。")
            print("------------------------------")
        elif answer == "n":
            print("単位変換アプリを終了します。おつかれさまでした。")
            break
        else:
            print("y か n を入力してください。")


if __name__ == "__main__":
    main()
Python

1日目で本当に掴んでほしいこと

● 変数は「意味のある名前をつける」

単位変換では数値が中心なので、 変数名がわかりやすいほどコードが読みやすくなります。

● 条件分岐は「ユーザーの選択に応じて動きを変える」

y なら続ける、n なら終わる。 このシンプルな分岐がアプリらしさを生みます。

● 繰り返しは「アプリを継続的に使えるようにする」

1回で終わるプログラムから、 「何度でも使えるツール」へ変わる瞬間です。

● 関数は「コードを整理するための基本単位」

機能ごとに分けることで、 アプリが「部品の集合」として理解できるようになります。

● ファイル操作は「データを残すための技術」

変換履歴が残ることで、 アプリが“道具”として使えるようになります。

次のステップ(2日目の予告)

2日目では、この単位変換アプリをさらに育てて、

  • 複数の単位変換(長さ・重さ・温度)
  • メニュー形式(変換種類を選ぶ)
  • 履歴を一覧表示する

という「単位変換アプリの基本形」を完成させていきます。

タイトルとURLをコピーしました