Python | 1 日 60 分 × 7 日アプリ学習:超初級編

Python
スポンサーリンク

5日目のゴールと今日やること

5日目のテーマは
「変数をちゃんと使って“学習レポートアプリ”を作る」 ことです。

ここまでで、

print
数字の計算
変数(名前をつけて値を覚えておく)

は一通り触りました。

今日はそれらをまとめて使って、

自分の学習の「レポート画面」
小さな「進捗アプリ」

を、Python で形にします。

新しい文法は、ほぼ増やしません。
代わりに、昨日までの要素を「アプリっぽくまとめる力」を育てます。


4日目までの「材料」をもう一度並べて確認する

4日目までで、すでにこんなコードは書ける状態になっています。

名前やコース名などの設定を変数に入れる。

name = "あなたの名前"
course_name = "Python 超初級編"
day = 5
Python

1日の学習時間や日数を変数にしておく。

minutes_per_day = 60
days = 7
Python

それらを使って計算する。

total_minutes = minutes_per_day * days
total_hours = total_minutes / 60
Python

そして print でレポートっぽく表示する。

print("1 日あたりの学習時間(分):")
print(minutes_per_day)

print("学習日数:")
print(days)

print("合計学習時間(分):")
print(total_minutes)
Python

つまり、もう

「文字」
「数字と計算」
「変数」
「画面の形(print の並べ方)」

は、一通りそろっているわけです。

5日目は、これを「ひとつのアプリ」という意識でまとめていきます。


今日作るもののイメージ「学習レポートアプリ」

頭の中で、こんな画面をイメージしてみてください。

一番上にタイトル。
名前やコース名が出る。
1日の学習時間と総学習時間。
今日は何日目か。
最後に「ひとことメッセージ」。

これをすべて Python の print と変数だけで作ります。

ポイントは、

数値をその場で書くのではなく、変数をしっかり使うこと
「設定」「計算」「表示」を意識して分けて書くこと

この2つです。


学習レポートアプリの「設定部分」を作る

まずは一番上に、「設定ゾーン」をまとめて書きます。
ここを書き換えることで、他の日や他の人用にも使い回せるようにします。

name = "あなたの名前"
course_name = "Python 超初級編"
day = 5          # 今日は 5 日目
minutes_per_day = 60
total_days = 7   # 全部で 7 日間のコース
Python

ここで意識してほしいのは、

数字を直接下の方にバラバラ書かない
「意味のある名前」をつけて、上にまとめておく

ということです。

例えば day = 5 の 5 を 3 に変えれば、
同じプログラムが「3日目レポート」になります。

「上の設定を書き換えたら、下の出力も自動で変わる」
ここが変数を使う大きな意味です。


学習レポートアプリの「計算部分」を作る

設定ができたら、それを使って必要な計算をします。

1週間の合計学習時間(分)。
それを時間に直したもの。

これを変数で表すとこうなります。

total_minutes = minutes_per_day * total_days
total_hours = total_minutes / 60
progress_ratio = day / total_days  # 進行度(どれくらい進んだか)
Python

ここが「計算ゾーン」です。

ここでの重要ポイントは、

式を「意味で読めるか」を意識することです。

total_minutes = minutes_per_day * total_days
「合計分数 = 1日あたりの分 × 日数」

progress_ratio = day / total_days
「進行度 = 今日が何日目か ÷ 全日数」

と、そのまま日本語にできます。

「コードを式ではなく、日本語の意味として読めるか」
これが、理解度を測る良い目安になります。


学習レポートアプリの「表示部分」を設計する

設定と計算ができたら、いよいよ表示です。
まずは素直に print で形を作っていきます。

print("================================")
print("       学習レポート(5 日目)       ")
print("================================")
print()

print("名前:")
print(name)
print()

print("コース名:")
print(course_name)
print()

print("1 日あたりの学習時間(分):")
print(minutes_per_day)
print()

print("コース全体の日数:")
print(total_days)
print()

print("コース全体の合計学習時間(分):")
print(total_minutes)
print("コース全体の合計学習時間(時間):")
print(total_hours)
print()

print("今日は")
print(day)
print("日目です")
Python

ここまででも、かなりそれっぽいレポートになります。

「入力やボタン」はまだありませんが、
実行すると「今日の学習設定レポート」がまとめて表示されるアプリです。

ここでの大事なポイントは、

表示の中で、数字を「生」で書かないこと。
必ず変数を通して出していること。

です。

print(60) ではなく print(minutes_per_day)
print(7) ではなく print(total_days)

これによって、

設定を変えたときに、表示を自動で合わせられます。


進捗の「割合」を計算して、ちょっとだけ“それっぽく”する

さっき計算した progress_ratio(進行度)を、画面に出してみましょう。

progress_ratio = day / total_days なので、
例えば 5 日目なら 5 / 7 の結果(だいたい 0.714285…)が入っています。

そのままでもいいですが、まずは「小数のまま」出して雰囲気をつかみます。

print("進行度(0〜1 のあいだ):")
print(progress_ratio)
Python

出力のどこかにこれを足してみてください。

0.7142857142... のような数が出るはずです。

あくまで「感覚をつかむため」なので、
ここで小数点以下をきれいにすることには、まだこだわらなくて大丈夫です。

大事なのは、

「この式は、今どれくらいまで進んだかを表している」

と、自分で説明できることです。


今日のひとことメッセージを”変数込み”で出す

最後に、「ひとことメッセージ」で締めたいですよね。
これも普通に print で書けます。

print("================================")
print()
print("ここまでで、")
print(day)
print("日目まで進みました。")
print("全体のうち、だいたいこれくらい進んでいます。")
print(progress_ratio)
print()
print("今日もおつかれさまでした。")
print("設定を変えれば、別の日のレポートにもなります。")
Python

ここではあえて、

print(day)
print(progress_ratio)

を、説明文と別々の行に分けています。

「文章と値を別々に出す」やり方は、
いまの超初級段階では一番シンプルで分かりやすいからです。

1行にまとめて書く方法(文字列と数字をくっつけるテクニック)は、
もう少し慣れてからで十分です。


コード全体を「3つのゾーン」で読み返してみる

ここまでをまとめると、5日目の理想のコードはこんな形になります(大まかな構造だけ)。

設定ゾーン(上の方)
計算ゾーン(真ん中)
表示ゾーン(下の方)

実際のコードを、自分で書いたあとに、
この3つの塊として読み返してみてください。

上から読んでいって、

ここで設定しているな
ここで計算しているな
ここで画面に出しているな

と、自分で説明しながらたどれるなら、
それはもう立派な「アプリの設計図」になっています。


5日目で特に深掘りしてほしいポイント

一番大事なのは、

「数字をその場その場で直書きしないで、変数に意味のある名前をつけてから使う」

という意識です。

名前をつける
その名前で計算する
その名前で表示する

この流れができると、

数字を変える
日数を変える
名前を変える

といった「設定の変更」に強いプログラムになります。

もうひとつ大事なのは、

「コード全体を、設定 → 計算 → 表示 のストーリーで眺める」

ことです。

この視点が育つと、
自分のコードをあとから見ても迷いにくくなります。


5日目のまとめと、6日目へのつなぎ

5日目までで、あなたはすでに、

print で画面の形を作れる
数字・計算・文字列を混ぜて表示できる
変数に名前をつけて、設定 → 計算 → 表示の流れを組み立てられる

というところまで来ています。

6日目からは、ここに

「日数に応じたメッセージを変える」
「完走したときだけ特別なメッセージ」

のような、ほんの少しだけ「条件」を混ぜていきます。

最後にひとつだけ聞きたい。

今日作った学習レポートアプリのどこかに、
「ここ、自分っぽいな」と感じた部分はありましたか?

名前のところかもしれないし、
コース名かもしれないし、
最後のひとことかもしれません。

その「自分っぽさ」が混ざっている行こそ、
あなたと Python がちゃんとつながった場所です。

その感覚を忘れないまま、6日目に進んでいきましょう。

Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました