算術演算子 - 計算の基本
目次
このレッスンで学ぶこと
- 算術演算子とは何か
- 基本的な四則演算(+, -, *, /)
- 特殊な演算子(//, %, **)の使い方
- 演算子の優先順位
算術演算子とは
算術演算子は、数値の計算を行うための記号です。
Pythonの算術演算子一覧
| 演算子 | 名前 | 意味 | 例 | 結果 |
|---|---|---|---|---|
+ | 加算 | 足し算 | 10 + 3 | 13 |
- | 減算 | 引き算 | 10 - 3 | 7 |
* | 乗算 | 掛け算 | 10 * 3 | 30 |
/ | 除算 | 割り算 | 10 / 3 | 3.333... |
// | 切り捨て除算 | 割り算の商 | 10 // 3 | 3 |
% | 剰余 | 割り算の余り | 10 % 3 | 1 |
** | べき乗 | 累乗 | 10 ** 3 | 1000 |
算術演算子の特徴
- 数学の計算式と同じように使える
- 整数と小数の両方で使える
- 計算結果は新しい値として得られる
- 変数と組み合わせて使える
簡単な例
Python# 基本的な計算 print(5 + 3) # 8(足し算) print(5 - 3) # 2(引き算) print(5 * 3) # 15(掛け算) print(5 / 2) # 2.5(割り算)
なぜ算術演算子が必要なのか?
プログラミングでは、数値計算が頻繁に必要になります。
Python# 価格計算の例 price = 1000 quantity = 3 total = price * quantity print(f"合計: {total}円") # 合計: 3000円
算術演算子を使うことで、様々な計算を簡単に実行できます。
💡 豆知識: 演算子(オペレーター)という用語は、数学の「演算」から来ています。プログラミングでは、値を操作するための記号を演算子と呼びます。
基本的な算術演算子
加算(+)
機能: 2つの数値を足し合わせます。
Python# 整数の加算 result = 10 + 5 print(result) # 15 # 小数の加算 price1 = 100.5 price2 = 200.3 total = price1 + price2 print(total) # 300.8 # 複数の値を加算 sum_value = 1 + 2 + 3 + 4 + 5 print(sum_value) # 15
用途: 合計計算、数値の増加
減算(-)
機能: 左の値から右の値を引きます。
Python# 基本的な減算 result = 10 - 3 print(result) # 7 # 在庫の減少 stock = 50 sold = 15 remaining = stock - sold print(f"残り: {remaining}個") # 残り: 35個 # 負の数 result = 5 - 10 print(result) # -5
用途: 差の計算、在庫管理、残高計算
乗算(*)
機能: 2つの数値を掛け合わせます。
Python# 基本的な乗算 result = 5 * 3 print(result) # 15 # 価格計算 price = 500 quantity = 4 total = price * quantity print(f"合計: {total}円") # 合計: 2000円 # 小数の乗算 result = 2.5 * 4 print(result) # 10.0
用途: 合計金額の計算、面積の計算
除算(/)
機能: 左の値を右の値で割ります。結果は常に小数(float)になります。
Python# 基本的な除算 result = 10 / 2 print(result) # 5.0(整数で割り切れても小数になる) # 割り切れない場合 result = 10 / 3 print(result) # 3.3333333333333335 # 平均の計算 total = 100 count = 4 average = total / count print(f"平均: {average}") # 平均: 25.0
注意: 除算の結果は常にfloat型になります。
用途: 平均計算、比率計算
特殊な算術演算子
整数除算(//)
機能: 割り算の結果の整数部分のみを返します(小数点以下を切り捨て)。
Python# 整数除算 result = 10 // 3 print(result) # 3(3.333... の整数部分) # 通常の除算と比較 print(10 / 3) # 3.3333333333333335 print(10 // 3) # 3 # ページ数の計算 items = 25 items_per_page = 10 pages = items // items_per_page print(f"ページ数: {pages}") # ページ数: 2
用途: ページ分割、商品の箱詰め計算
書き方: 値1 // 値2
剰余(%)
機能: 割り算の余りを返します。
Python# 余りの計算 result = 10 % 3 print(result) # 1(10 ÷ 3 = 3 余り 1) # 偶数・奇数の判定 number = 7 if number % 2 == 0: print("偶数") else: print("奇数") # 奇数 # 周期的な処理 for i in range(10): if i % 3 == 0: print(f"{i}は3の倍数")
用途: 偶数奇数判定、周期的な処理、余りの計算
書き方: 値1 % 値2
べき乗(**)
機能: 左の値を右の値で累乗します(べき乗)。
Python# 2の3乗 result = 2 ** 3 print(result) # 8(2 × 2 × 2) # 平方(2乗) result = 5 ** 2 print(result) # 25 # 立方(3乗) result = 3 ** 3 print(result) # 27 # 平方根(ルート) result = 9 ** 0.5 print(result) # 3.0(√9 = 3)
用途: べき乗計算、面積・体積計算、指数関数
書き方: 基数 ** 指数
演算子の優先順位
優先順位のルール
Python# 優先順位: ** > *, /, //, % > +, - result = 2 + 3 * 4 print(result) # 14(3 * 4 が先に計算される) # 括弧で優先順位を変更 result = (2 + 3) * 4 print(result) # 20 # 複雑な計算 result = 10 + 5 * 2 ** 3 print(result) # 50(2**3=8, 5*8=40, 10+40=50) # 括弧で明示 result = 10 + (5 * (2 ** 3)) print(result) # 50(同じ結果だが読みやすい)
優先順位(高い順):
**(べき乗)*,/,//,%(乗除算)+,-(加減算)
推奨: 複雑な計算では括弧を使って明示的にする
具体例
例1: 消費税込み価格の計算
Pythonprice = 1000 tax_rate = 0.1 # 税込価格 total = price + (price * tax_rate) print(f"税込価格: {total}円") # 税込価格: 1100.0円 # または total = price * (1 + tax_rate) print(f"税込価格: {total}円") # 税込価格: 1100.0円
例2: 平均点の計算
Pythonscore1 = 85 score2 = 92 score3 = 78 # 平均 average = (score1 + score2 + score3) / 3 print(f"平均点: {average:.1f}点") # 平均点: 85.0点
例3: 温度変換(摂氏→華氏)
Pythoncelsius = 25 # 華氏 = 摂氏 × 9/5 + 32 fahrenheit = celsius * 9 / 5 + 32 print(f"{celsius}℃ = {fahrenheit}℉") # 25℃ = 77.0℉
例4: 時間の計算
Pythontotal_minutes = 125 # 時間と分に分解 hours = total_minutes // 60 minutes = total_minutes % 60 print(f"{total_minutes}分 = {hours}時間{minutes}分") # 125分 = 2時間5分
例5: 複利計算
Pythonprincipal = 100000 # 元金 rate = 0.03 # 年利3% years = 5 # 5年間 # 複利計算 amount = principal * (1 + rate) ** years print(f"{years}年後: {int(amount)}円") # 5年後: 115927円
例6: BMI(体格指数)の計算
Pythonweight = 65 # kg height = 1.7 # m # BMI = 体重 / (身長の2乗) bmi = weight / height ** 2 print(f"BMI: {bmi:.1f}") # BMI: 22.5 # 判定 if bmi < 18.5: print("低体重") elif bmi < 25: print("普通体重") else: print("肥満")
よくある間違い
間違い1: ゼロ除算
Pythonresult = 10 / 0 # ZeroDivisionError: division by zero
対策:
Pythondivisor = 0 if divisor != 0: result = 10 / divisor print(result) else: print("0で割ることはできません")
間違い2: 整数除算と通常除算の混同
Python# 整数除算を使うべき場面 items = 25 boxes = items / 10 # 2.5(箱の数に小数?) print(f"必要な箱: {boxes}個") # 正しくは boxes = items // 10 + (1 if items % 10 > 0 else 0) print(f"必要な箱: {boxes}個") # 3個
間違い3: 演算子の優先順位
Python# 間違った計算 result = 100 - 50 * 2 print(result) # 0(期待: 100) # 意図: (100 - 50) * 2 = 100 # 実際: 100 - (50 * 2) = 0 # 正しく result = (100 - 50) * 2 print(result) # 100
間違い4: べき乗の記号
Python# 間違い: ^ はPythonでべき乗ではない result = 2 ^ 3 # ビット演算のXORになる print(result) # 1(2のべき乗3ではない) # 正しい result = 2 ** 3 print(result) # 8
間違い5: 小数の精度問題
Pythonresult = 0.1 + 0.2 print(result) # 0.30000000000000004(誤差が出る) # 対策: round()で丸める result = round(0.1 + 0.2, 2) print(result) # 0.3
練習問題
問題1(基礎)⭐☆☆
りんごが1個150円です。5個買った場合の合計金額を計算してください。
💡 ヒント
乗算(*)を使います。
✅ 解答例
Pythonprice = 150 quantity = 5 total = price * quantity print(f"合計: {total}円")
実行結果:
合計: 750円
解説: 単価 × 数量 で合計金額を計算できます。
問題2(基礎)⭐☆☆
37個のクッキーを5人で分けます。1人何個ずつもらえて、何個余りますか?
💡 ヒント
- 整数除算(//)で1人あたりの個数
- 剰余(%)で余りの個数
✅ 解答例
Pythoncookies = 37 people = 5 per_person = cookies // people remainder = cookies % people print(f"1人あたり: {per_person}個") print(f"余り: {remainder}個")
実行結果:
1人あたり: 7個
余り: 2個
解説: 37 ÷ 5 = 7 余り 2 となります。
問題3(応用)⭐⭐☆
長方形の面積と周囲の長さを計算してください。縦が5cm、横が8cmとします。
💡 ヒント
- 面積 = 縦 × 横
- 周囲 = (縦 + 横) × 2
✅ 解答例
Pythonheight = 5 width = 8 # 面積 area = height * width # 周囲の長さ perimeter = (height + width) * 2 print(f"面積: {area}cm²") print(f"周囲: {perimeter}cm")
実行結果:
面積: 40cm²
周囲: 26cm
解説: 面積は縦×横、周囲は全ての辺の長さの合計です。
まとめ
このレッスンでは、算術演算子の種類と使い分けを学びました。
+,-,*,/の四則演算で基本計算を行えるようになりました。//,%,**を使って、商・余り・べき乗の計算ができます。- 演算子の優先順位を理解し、必要に応じて括弧で評価順を制御できます。
/の結果はfloatになることや、0除算がエラーになることを確認しました。- 計算式を段階的に書くことで、読みやすく保守しやすいコードにできると理解しました。
算術演算子 - 計算の基本
目次
このレッスンで学ぶこと
- 算術演算子とは何か
- 基本的な四則演算(+, -, *, /)
- 特殊な演算子(//, %, **)の使い方
- 演算子の優先順位
算術演算子とは
算術演算子は、数値の計算を行うための記号です。
Pythonの算術演算子一覧
| 演算子 | 名前 | 意味 | 例 | 結果 |
|---|---|---|---|---|
+ | 加算 | 足し算 | 10 + 3 | 13 |
- | 減算 | 引き算 | 10 - 3 | 7 |
* | 乗算 | 掛け算 | 10 * 3 | 30 |
/ | 除算 | 割り算 | 10 / 3 | 3.333... |
// | 切り捨て除算 | 割り算の商 | 10 // 3 | 3 |
% | 剰余 | 割り算の余り | 10 % 3 | 1 |
** | べき乗 | 累乗 | 10 ** 3 | 1000 |
算術演算子の特徴
- 数学の計算式と同じように使える
- 整数と小数の両方で使える
- 計算結果は新しい値として得られる
- 変数と組み合わせて使える
簡単な例
Python# 基本的な計算 print(5 + 3) # 8(足し算) print(5 - 3) # 2(引き算) print(5 * 3) # 15(掛け算) print(5 / 2) # 2.5(割り算)
なぜ算術演算子が必要なのか?
プログラミングでは、数値計算が頻繁に必要になります。
Python# 価格計算の例 price = 1000 quantity = 3 total = price * quantity print(f"合計: {total}円") # 合計: 3000円
算術演算子を使うことで、様々な計算を簡単に実行できます。
💡 豆知識: 演算子(オペレーター)という用語は、数学の「演算」から来ています。プログラミングでは、値を操作するための記号を演算子と呼びます。
基本的な算術演算子
加算(+)
機能: 2つの数値を足し合わせます。
Python# 整数の加算 result = 10 + 5 print(result) # 15 # 小数の加算 price1 = 100.5 price2 = 200.3 total = price1 + price2 print(total) # 300.8 # 複数の値を加算 sum_value = 1 + 2 + 3 + 4 + 5 print(sum_value) # 15
用途: 合計計算、数値の増加
減算(-)
機能: 左の値から右の値を引きます。
Python# 基本的な減算 result = 10 - 3 print(result) # 7 # 在庫の減少 stock = 50 sold = 15 remaining = stock - sold print(f"残り: {remaining}個") # 残り: 35個 # 負の数 result = 5 - 10 print(result) # -5
用途: 差の計算、在庫管理、残高計算
乗算(*)
機能: 2つの数値を掛け合わせます。
Python# 基本的な乗算 result = 5 * 3 print(result) # 15 # 価格計算 price = 500 quantity = 4 total = price * quantity print(f"合計: {total}円") # 合計: 2000円 # 小数の乗算 result = 2.5 * 4 print(result) # 10.0
用途: 合計金額の計算、面積の計算
除算(/)
機能: 左の値を右の値で割ります。結果は常に小数(float)になります。
Python# 基本的な除算 result = 10 / 2 print(result) # 5.0(整数で割り切れても小数になる) # 割り切れない場合 result = 10 / 3 print(result) # 3.3333333333333335 # 平均の計算 total = 100 count = 4 average = total / count print(f"平均: {average}") # 平均: 25.0
注意: 除算の結果は常にfloat型になります。
用途: 平均計算、比率計算
特殊な算術演算子
整数除算(//)
機能: 割り算の結果の整数部分のみを返します(小数点以下を切り捨て)。
Python# 整数除算 result = 10 // 3 print(result) # 3(3.333... の整数部分) # 通常の除算と比較 print(10 / 3) # 3.3333333333333335 print(10 // 3) # 3 # ページ数の計算 items = 25 items_per_page = 10 pages = items // items_per_page print(f"ページ数: {pages}") # ページ数: 2
用途: ページ分割、商品の箱詰め計算
書き方: 値1 // 値2
剰余(%)
機能: 割り算の余りを返します。
Python# 余りの計算 result = 10 % 3 print(result) # 1(10 ÷ 3 = 3 余り 1) # 偶数・奇数の判定 number = 7 if number % 2 == 0: print("偶数") else: print("奇数") # 奇数 # 周期的な処理 for i in range(10): if i % 3 == 0: print(f"{i}は3の倍数")
用途: 偶数奇数判定、周期的な処理、余りの計算
書き方: 値1 % 値2
べき乗(**)
機能: 左の値を右の値で累乗します(べき乗)。
Python# 2の3乗 result = 2 ** 3 print(result) # 8(2 × 2 × 2) # 平方(2乗) result = 5 ** 2 print(result) # 25 # 立方(3乗) result = 3 ** 3 print(result) # 27 # 平方根(ルート) result = 9 ** 0.5 print(result) # 3.0(√9 = 3)
用途: べき乗計算、面積・体積計算、指数関数
書き方: 基数 ** 指数
演算子の優先順位
優先順位のルール
Python# 優先順位: ** > *, /, //, % > +, - result = 2 + 3 * 4 print(result) # 14(3 * 4 が先に計算される) # 括弧で優先順位を変更 result = (2 + 3) * 4 print(result) # 20 # 複雑な計算 result = 10 + 5 * 2 ** 3 print(result) # 50(2**3=8, 5*8=40, 10+40=50) # 括弧で明示 result = 10 + (5 * (2 ** 3)) print(result) # 50(同じ結果だが読みやすい)
優先順位(高い順):
**(べき乗)*,/,//,%(乗除算)+,-(加減算)
推奨: 複雑な計算では括弧を使って明示的にする
具体例
例1: 消費税込み価格の計算
Pythonprice = 1000 tax_rate = 0.1 # 税込価格 total = price + (price * tax_rate) print(f"税込価格: {total}円") # 税込価格: 1100.0円 # または total = price * (1 + tax_rate) print(f"税込価格: {total}円") # 税込価格: 1100.0円
例2: 平均点の計算
Pythonscore1 = 85 score2 = 92 score3 = 78 # 平均 average = (score1 + score2 + score3) / 3 print(f"平均点: {average:.1f}点") # 平均点: 85.0点
例3: 温度変換(摂氏→華氏)
Pythoncelsius = 25 # 華氏 = 摂氏 × 9/5 + 32 fahrenheit = celsius * 9 / 5 + 32 print(f"{celsius}℃ = {fahrenheit}℉") # 25℃ = 77.0℉
例4: 時間の計算
Pythontotal_minutes = 125 # 時間と分に分解 hours = total_minutes // 60 minutes = total_minutes % 60 print(f"{total_minutes}分 = {hours}時間{minutes}分") # 125分 = 2時間5分
例5: 複利計算
Pythonprincipal = 100000 # 元金 rate = 0.03 # 年利3% years = 5 # 5年間 # 複利計算 amount = principal * (1 + rate) ** years print(f"{years}年後: {int(amount)}円") # 5年後: 115927円
例6: BMI(体格指数)の計算
Pythonweight = 65 # kg height = 1.7 # m # BMI = 体重 / (身長の2乗) bmi = weight / height ** 2 print(f"BMI: {bmi:.1f}") # BMI: 22.5 # 判定 if bmi < 18.5: print("低体重") elif bmi < 25: print("普通体重") else: print("肥満")
よくある間違い
間違い1: ゼロ除算
Pythonresult = 10 / 0 # ZeroDivisionError: division by zero
対策:
Pythondivisor = 0 if divisor != 0: result = 10 / divisor print(result) else: print("0で割ることはできません")
間違い2: 整数除算と通常除算の混同
Python# 整数除算を使うべき場面 items = 25 boxes = items / 10 # 2.5(箱の数に小数?) print(f"必要な箱: {boxes}個") # 正しくは boxes = items // 10 + (1 if items % 10 > 0 else 0) print(f"必要な箱: {boxes}個") # 3個
間違い3: 演算子の優先順位
Python# 間違った計算 result = 100 - 50 * 2 print(result) # 0(期待: 100) # 意図: (100 - 50) * 2 = 100 # 実際: 100 - (50 * 2) = 0 # 正しく result = (100 - 50) * 2 print(result) # 100
間違い4: べき乗の記号
Python# 間違い: ^ はPythonでべき乗ではない result = 2 ^ 3 # ビット演算のXORになる print(result) # 1(2のべき乗3ではない) # 正しい result = 2 ** 3 print(result) # 8
間違い5: 小数の精度問題
Pythonresult = 0.1 + 0.2 print(result) # 0.30000000000000004(誤差が出る) # 対策: round()で丸める result = round(0.1 + 0.2, 2) print(result) # 0.3
練習問題
問題1(基礎)⭐☆☆
りんごが1個150円です。5個買った場合の合計金額を計算してください。
💡 ヒント
乗算(*)を使います。
✅ 解答例
Pythonprice = 150 quantity = 5 total = price * quantity print(f"合計: {total}円")
実行結果:
合計: 750円
解説: 単価 × 数量 で合計金額を計算できます。
問題2(基礎)⭐☆☆
37個のクッキーを5人で分けます。1人何個ずつもらえて、何個余りますか?
💡 ヒント
- 整数除算(//)で1人あたりの個数
- 剰余(%)で余りの個数
✅ 解答例
Pythoncookies = 37 people = 5 per_person = cookies // people remainder = cookies % people print(f"1人あたり: {per_person}個") print(f"余り: {remainder}個")
実行結果:
1人あたり: 7個
余り: 2個
解説: 37 ÷ 5 = 7 余り 2 となります。
問題3(応用)⭐⭐☆
長方形の面積と周囲の長さを計算してください。縦が5cm、横が8cmとします。
💡 ヒント
- 面積 = 縦 × 横
- 周囲 = (縦 + 横) × 2
✅ 解答例
Pythonheight = 5 width = 8 # 面積 area = height * width # 周囲の長さ perimeter = (height + width) * 2 print(f"面積: {area}cm²") print(f"周囲: {perimeter}cm")
実行結果:
面積: 40cm²
周囲: 26cm
解説: 面積は縦×横、周囲は全ての辺の長さの合計です。
まとめ
このレッスンでは、算術演算子の種類と使い分けを学びました。
+,-,*,/の四則演算で基本計算を行えるようになりました。//,%,**を使って、商・余り・べき乗の計算ができます。- 演算子の優先順位を理解し、必要に応じて括弧で評価順を制御できます。
/の結果はfloatになることや、0除算がエラーになることを確認しました。- 計算式を段階的に書くことで、読みやすく保守しやすいコードにできると理解しました。