Python × 入門 | #03 計算してみよう

電卓でできる計算はすべてPythonでもできます。さらに、変数と組み合わせれば「合計を出す・平均を求める・お釣りを計算する」といった実用的な処理が数行で書けるようになります。

この記事では、PycoBlocksの計算ブロックを使いながら算術演算子の基本を学び、変数と組み合わせた計算を実際に動かします。

算術演算子と計算

まずはPycoBlocksを開こう

下のPycoBlocksで直接作業するか、別タブで開き、生成されるPythonコードを見ながら進めてください。

Pythonで使える算術演算子

Pythonには以下の算術演算子が用意されています。PycoBlocksの「計算」カテゴリに対応するブロックがすべてそろっています。

演算子 意味 結果
+ 足し算 10 + 3 13
- 引き算 10 - 3 7
* 掛け算 10 * 3 30
/ 割り算(小数あり) 10 / 3 3.333...
// 整数の割り算(切り捨て) 10 // 3 3
% 余り 10 % 3 1
** べき乗 2 ** 8 256

ステップ1:四則演算を試してみよう

まずは足し算から試してみましょう。PycoBlocksの「計算」カテゴリにある演算ブロックを「表示」ブロックにはめ込むと、計算結果をそのまま出力できます。

  1. 「計算」カテゴリから足し算ブロックを取り出す
  2. 数値を 103 にする
  3. 「表示」ブロックにはめて実行する
ブロック例:足し算を表示
print(10 + 3)
print(10 - 3)
print(10 * 3)
print(10 / 3)

実行すると 13, 7, 30, 3.3333333333333335 と出るはずです。割り算だけ小数になることに注目してください。

ステップ2:整数割り算と余りを使ってみよう

//(整数割り算)と %(余り)は少し馴染みが薄いかもしれません。でも、「10個のお菓子を3人で分けると1人何個もらえて、何個余るか?」という問いにぴったり使えます。

ブロック例:整数除算と余り
total = 10
people = 3

print("1人分:", total // people)
print("余り:", total % people)

ステップ3:変数と計算を組み合わせよう

変数に値を入れてから計算すると、数値を1か所変えるだけでプログラム全体が変わります。これが「変数を使う意味」のひとつです。

たとえば、テスト3回分の点数の合計と平均を出す場合を考えてみましょう。

score1 = 85
score2 = 72
score3 = 90

total = score1 + score2 + score3
average = total / 3

print("合計:", total)
print("平均:", average)
ブロック例:3つの変数で合計・平均を計算

点数を変えたいときは score1 = 85 の数値を書き換えるだけで、合計・平均が自動的に変わります。

コーディングモードで書いてみよう

コーディングモードでは、演算の順序(優先順位)に気をつける必要があります。数学と同じルールで */+- より先に計算されます。カッコ () で順序を明示するとミスが減ります。

# カッコなし:* が先に計算される
print(2 + 3 * 4)    # → 14

# カッコあり:+ を先に計算させる
print((2 + 3) * 4)  # → 20

# 平均を正しく計算する例
score1 = 85
score2 = 72
score3 = 90
average = (score1 + score2 + score3) / 3
print("平均:", average)

演習課題

課題3-1:電卓を作ろう

2つの数 a = 15b = 4 を使って、足し算・引き算・掛け算・割り算の結果を4行で表示してください。

▶ 模範解答と解説を見る

ブロックの組み合わせ例:

模範解答:電卓(四則演算)
a = 15
b = 4
print("足し算:", a + b)
print("引き算:", a - b)
print("掛け算:", a * b)
print("割り算:", a / b)

解説: 変数に数値を入れておけば、ab の値を変えるだけで全4行の結果が一度に変わります。

課題3-2:お釣りを計算しよう

商品の値段 price = 380、支払い金額 paid = 1000 として、お釣りを計算して表示してください。さらに、お釣りを500円玉・100円玉・10円玉の枚数に分解して表示しましょう(//% を使います)。

▶ 模範解答と解説を見る

ブロックの組み合わせ例:

模範解答:お釣りの計算
price = 380
paid = 1000
change = paid - price

print("お釣り:", change)
print("500円玉:", change // 500, "枚")
change = change % 500
print("100円玉:", change // 100, "枚")
change = change % 100
print("10円玉:", change // 10, "枚")

解説: // で「何枚取れるか」を出し、% で「残り何円か」を更新していきます。ATMやレジの内部処理に近い考え方です。

課題3-3:BMIを計算しよう

身長 height = 1.70(メートル)、体重 weight = 65(kg)として、BMI(体格指数)を計算して表示してください。BMIの計算式は weight / (height ** 2) です。

▶ 模範解答と解説を見る

ブロックの組み合わせ例:

模範解答:BMI計算
height = 1.70
weight = 65

bmi = weight / (height ** 2)
print("BMI:", bmi)

解説: **(べき乗)を使うと height * height と書かずにすっきり表現できます。カッコで height ** 2 を先に計算してから割り算するのがポイントです。

課題3-4:5教科の平均点を計算しよう

国語・数学・英語・理科・社会の点数(例:85, 72, 90, 68, 78)を変数に入れ、合計と平均を計算して表示してください。平均は小数第1位まで表示しましょう。

▶ 模範解答と解説を見る

ブロックの組み合わせ例:

5科目の合計・平均を計算するブロック例
kokugo  = 85
math    = 72
english = 90
rika    = 68
shakai  = 78
total   = kokugo + math + english + rika + shakai
average = total / 5
print(f"合計: {total}点")
print(f"平均: {average:.1f}点")

解説: 変数名を教科名にすると、あとでどの点数かわかりやすくなります。平均を求めるには合計を科目数で割るだけですが、:.1f で小数第1位まで表示すると見やすくなります。

課題3-5:整数除算と浮動小数点の違いを観察しよう

次のコードを実行して、出力の違いを確認してください。7 / 27 // 2 の結果、そして 0.1 + 0.20.3 にならない理由を考えてみましょう。

▶ 模範解答と解説を見る

ブロックの組み合わせ例:

除算の種類(/・//・%)を確認するブロック例
print(7 / 2)      # → 3.5(浮動小数点除算)
print(7 // 2)     # → 3(整数除算:切り捨て)
print(7 % 2)      # → 1(余り)
print(0.1 + 0.2)  # → 0.30000000000000004(2進数の誤差)

解説: / は常に浮動小数点数(小数)を返し、// は切り捨てた整数を返します。0.1 + 0.2 ≠ 0.3 はコンピュータが2進数で小数を表現するときに生じる誤差です。金額計算など精度が重要な場面では decimal モジュールを使います(発展)。

まとめ

  • + - * / の四則演算に加え、//(整数割り算)・%(余り)・**(べき乗)が使えます
  • 変数と演算を組み合わせると、数値を1か所変えるだけで計算全体が更新されます
  • 演算の優先順位は数学と同じ。迷ったらカッコ () で明示しましょう

次の記事では文字列(テキスト)の操作を学びます。文字列と数値を組み合わせると、出力がぐっと見やすくなります。→ Python × 入門 | #04 文字列を操ろう

PAGE TOP