Chapter 1 / Foundations
Lesson 1.2 変数と計算
数値を変数に入れ、計算結果を print する流れを覚えます。
このページは無料で閲覧できるサンプルです。実際に手を動かして写経し、進捗を保存して学習を進めるには、ログインしてから学習ページへお進みください。
このレッスンで学ぶこと
このレッスンでは、これまで覚えた「変数」「数値」「演算子」「print」をすべてつないで、計算結果を表示する一連の流れを練習します。Python のプログラムの最も基本的な型である「データを入れる → 計算する → 表示する」の最小形を、ここで体に染み込ませます。
入力 → 加工 → 出力という 3 段階は、後のレッスンで習う if 文・for 文・関数・リスト処理でも繰り返し登場する基本構造です。Chapter 1 のうちにこの流れを意識せず書けるようにしておくと、Chapter 2 以降で新しい構文を覚える際に「計算と表示の部分は手が止まらない」状態でスタートできます。
写経 1
写経 1
掛け算で合計金額を求め、文字列と一緒に表示します。
price = 120
count = 3
total = price * count
print("total:", total)total: 360写経 2
写経 2
平均値を計算して、小数が出るケースにも慣れます。
math = 78
science = 84
average = (math + science) / 2
print("average:", average)average: 81.0発展問題 (概要のみ)
発展問題
base_price と tax_rate を使って税込み価格を計算し、print で表示してみましょう。
base_price = 0
tax_rate = 0.1
発展問題の自動採点はログイン後の学習ページでのみ動作します。
計算結果はいったん変数に入れる
print(price * count) のように計算式を直接 print に書いても動きます。ただし total = price * count のように一度変数に入れる書き方には 2 つの利点があります。1 つ目は、同じ計算結果を後で別の計算 (合計に税金をかける、平均を求めるための母数として使う、など) に再利用できること。2 つ目は、思った結果と違ったときに total を一時的に print して中身を確認すれば、計算と表示のどちらに問題があるのかを切り分けられることです。慣れるまでは少し冗長に感じても、変数に入れる癖を付けておくと、デバッグの時間が劇的に減ります。
print に複数の値をカンマで渡す
print("total:", total) のようにラベル文字列と数値変数をカンマで区切って並べると、Python が自動でスペースを 1 つ入れて 1 行に表示してくれます。文字列と数値を混ぜたいときに、いちいち str() で型を変換しなくても良いので便利です。同じことは f-string (f"total: {total}") でも書けます。値が 2〜3 個の単純な表示はカンマ区切り、メッセージの文章構造が複雑になってきたら f-string、と使い分けると読みやすいコードになります。
整数同士の割り算は小数になる
Python 3 では、整数同士の割り算 / の結果は必ず小数 (float) です。たとえば (78 + 84) / 2 は 81.0 と表示されます。これは Python 2 から仕様が変わった点で、検索すると今でも「整数同士の / は整数になる」と書かれた古い記事が引っかかりますが、それは Python 2 時代の話です。本サイトは Python 3 で動いているので、新しい仕様の方が正しい挙動と覚えてください。
整数部分だけが欲しい (小数点以下を切り捨てたい) 場合は、/ ではなく // (スラッシュ 2 つ) を使います。たとえば 10 // 3 は 3、10 % 3 は 1 になります。% は割ったときの余り (剰余) を返す演算子で、後の Chapter 2 で「偶数判定」などに活用します。
計算と表示は別の関心事として書く
- 悪い例: print("average:", (math + science) / 2) のように、表示の中で計算もしてしまう書き方。1 行で読めるうちは良いが、項目が増えると一気に読みづらくなる
- 良い例: average = (math + science) / 2 → print("average:", average) のように、計算行と表示行を分けて書く方法。後で平均値を別の判定 (合格ライン以上か?) に使いたくなったときも、average をそのまま再利用できる
手を動かして練習しましょう
ログインすると、お手本コードを 1 文字ずつ写経しながらブラウザ上で実行し、合否を確認しながら学習を進められます。進捗は自動で保存されます。