1日目のゴールと全体像
この7日間の学習では、Pythonで「BMI計算アプリ」を作りながら、文法の基礎を体に馴染ませていくことを目標にします。 1日目のテーマは、電卓のときと同じく、次の5つの柱です。
変数 条件分岐 繰り返し 関数 ファイル操作
ただし題材は「BMI」。 身長と体重から自分の体型の目安を計算する、現実に役立つ小さなアプリです。 この具体的なテーマを通して、「Pythonで何ができるのか」をイメージしやすくしていきます。
変数とは何か(BMIの“材料”を入れる箱として考える)
身長と体重を変数に入れる
変数は、プログラムの中で「値に名前をつけて覚えておくための箱」です。 BMI計算では、最低でも「身長」と「体重」を扱う必要があります。
例えば、次のように書きます。
height = 1.70 # メートル
weight = 65.0 # キログラム
Pythonここで重要なのは、height と weight という名前が「何を表しているか」をそのまま伝えていることです。 a や b ではなく、意味のある名前にすることで、コードを読んだときに迷わなくなります。
BMIの計算式は「体重 ÷ 身長 ÷ 身長」です。 それを変数を使って書くと、次のようになります。
bmi = weight / (height * height)
print(bmi)
Pythonbmi という変数は、「計算結果を覚えておく箱」です。 このように、BMIアプリでは、
身長を覚える変数 体重を覚える変数 BMIを覚える変数
という3つの“材料の箱”が登場します。
1日目では、「変数はただの箱ではなく、意味を持ったラベルである」という感覚を掴んでください。
条件分岐とは何か(BMIの“判定ロジック”として考える)
BMIの値から体型を判定する
BMIは、単に数値を出すだけでなく、「その数値がどんな状態なのか」を判定するところまで行くと、アプリとしてぐっと面白くなります。
例えば、次のようなざっくりした判定を考えます。
18.5 未満 → やせ 18.5 以上 25 未満 → 普通 25 以上 → 肥満
これを Python の条件分岐で書くと、次のようになります。
if bmi < 18.5:
print("やせ気味です")
elif bmi < 25:
print("標準です")
else:
print("肥満気味です")
Pythonここで重要なのは、elif bmi < 25: の意味です。 elif は「それまでの条件に当てはまらなかった場合に、別の条件を試す」という流れを作ります。
この条件分岐は、次のようなストーリーになっています。
BMI が 18.5 未満なら「やせ」 そうでなくて 25 未満なら「標準」 それ以外は「肥満」
BMIアプリでは、この条件分岐が「判定ロジック」、つまりアプリの“頭脳”になります。 1日目では、「数値から意味を導き出す」という条件分岐の役割を、BMIという分かりやすい題材で体感していきます。
繰り返しとは何か(BMIを何度でも計算できる仕組みとして考える)
1回で終わらないBMI計算
BMIアプリを作るなら、「一度だけ計算して終わり」ではなく、何度でも使えるようにしたいはずです。 例えば、家族全員分を計算したい、過去の自分と今の自分を比べたい、など。
そこで使うのが「繰り返し」です。 Pythonでは while を使って、同じ処理を何度も実行できます。
簡単なテンプレートは次のようになります。
while True:
height = float(input("身長をメートルで入力してください (例: 1.70): "))
weight = float(input("体重をキログラムで入力してください (例: 65.0): "))
bmi = weight / (height * height)
print("あなたのBMIは:", bmi)
if bmi < 18.5:
print("やせ気味です")
elif bmi < 25:
print("標準です")
else:
print("肥満気味です")
again = input("もう一度計算しますか? (y/n): ")
if again != "y":
print("終了します")
break
Pythonここで深掘りしたいのは、while True: と break の組み合わせです。 while True: は「永遠に繰り返す」という意味ですが、 break を使うことで「ユーザーがやめたいと言ったらループを抜ける」ことができます。
繰り返しは、BMIアプリを「一度きりの計算」から「何度でも使えるツール」に変えてくれる仕組みです。 1日目では、「ループの一回分が一つのストーリーになっているか」を意識してコードを眺めてみてください。
関数とは何か(BMI計算を“部品”として切り出す)
BMI計算と判定を関数にする
関数は、「まとまった処理に名前をつけて、何度でも呼び出せるようにする」ための仕組みです。 BMIアプリでは、「計算する部分」と「判定する部分」を関数にすると、コードがぐっと読みやすくなります。
まず、BMIを計算する関数を作ります。
def calculate_bmi(height, weight):
return weight / (height * height)
Python次に、BMIの値から判定を返す関数を作ります。
def judge_bmi(bmi):
if bmi < 18.5:
return "やせ気味です"
elif bmi < 25:
return "標準です"
else:
return "肥満気味です"
Pythonこれらを使って、メインの処理は次のように書けます。
height = float(input("身長をメートルで入力してください: "))
weight = float(input("体重をキログラムで入力してください: "))
bmi = calculate_bmi(height, weight)
print("あなたのBMIは:", bmi)
message = judge_bmi(bmi)
print(message)
Pythonここで重要なのは、関数を使うことで「計算のロジック」と「入力・出力の流れ」が分離されていることです。 BMIアプリの中で、
計算する部品 判定する部品 入力と表示を担当する部分
がそれぞれ独立しているため、後から修正したり機能を追加したりしやすくなります。
1日目では、「関数はアプリの部品である」という感覚を、BMIという具体的な処理を通して掴んでください。
ファイル操作とは何か(BMIの“履歴”を残す機能として考える)
計算結果をファイルに保存する
BMIアプリを少しだけ“実用的なツール”に近づけるなら、「計算履歴をファイルに残す」機能をつけると面白くなります。 Pythonでは、open を使ってファイルに書き込むことができます。
例えば、次のような関数を作ります。
def save_bmi_history(height, weight, bmi):
with open("bmi_history.txt", "a", encoding="utf-8") as f:
line = f"身長: {height}m, 体重: {weight}kg, BMI: {bmi}\n"
f.write(line)
Pythonここで重要なのは、with open(..., "a") という書き方です。 "a" は「追記モード」を意味し、既存のファイルの末尾に新しい行を追加していきます。 with を使うことで、ファイルを開いたあと自動的に閉じてくれるため、安全に扱えます。
この関数をメインの処理に組み込むと、次のようになります。
height = float(input("身長をメートルで入力してください: "))
weight = float(input("体重をキログラムで入力してください: "))
bmi = calculate_bmi(height, weight)
print("あなたのBMIは:", bmi)
message = judge_bmi(bmi)
print(message)
save_bmi_history(height, weight, bmi)
Pythonこれで、BMIを計算するたびに bmi_history.txt に履歴が残っていきます。 後からファイルを開けば、自分の過去のBMIを一覧で見ることができます。
ファイル操作は、「プログラムの外にデータを残す」ための基本的な技術です。 BMIの履歴という具体的な形で、この技術を体に馴染ませていきましょう。
1日目で本当に掴んでほしいこと
1日目のゴールは、「BMI計算」という身近なテーマを通して、次の5つの柱を“意味付きで”理解することです。
身長・体重・BMIを変数として扱うことで、「値に名前をつける」感覚を掴む。 BMIの値から体型を判定する条件分岐で、「数値に意味を与える」ロジックを体験する。 何度でも計算できるようにする繰り返しで、「アプリとしての枠組み」を感じる。 計算と判定を関数に分けることで、「部品としてコードを設計する」感覚を育てる。 履歴をファイルに保存することで、「プログラムの外にデータを残す」技術に触れる。
BMIという一つのアプリの中に、Pythonの基礎がぎゅっと詰まっています。 2日目以降は、このBMIアプリを少しずつ拡張しながら、入力チェックやメニュー機能など、「実際に使えるアプリ」に近づけていきます。


