Pythonで数値を扱う方法を学びましょう!電卓のように使えます。(20分で読了 ⭐⭐)
🎯 今日の学習目標
- 整数(int)と浮動小数点数(float)を理解する
- 四則演算 (+, -, *, /) を使う
- 余りと商を求める
- 数値の型を確認する
📚 前提知識
- Day 4: 変数とprint() - 変数の宣言と出力方法
🎯 学習目標 1: 整数(int)と浮動小数点数(float)を理解する
Pythonには2種類の数値型があります。
整数 (int = integer)
小数点のない数値
age = 25 # 整数
year = 2024 # 整数
temperature = -5 # 負の数も整数
浮動小数点数 (float = floating point)
小数点のある数値
height = 175.5 # 浮動小数点数
pi = 3.14 # 浮動小数点数
price = 1000.0 # 小数点があれば浮動小数点数
💡 整数と浮動小数点数の区別
- 整数: 1, 25, -5, 1000
- 浮動小数点数: 1.0, 3.14, -5.5, 175.5
🎯 学習目標 2: 四則演算 (+, -, *, /) を使う
足し算 (+)
a = 10
b = 3
result = a + b
print(result) # 13
引き算 (-)
a = 10
b = 3
result = a - b
print(result) # 7
掛け算 (*)
a = 10
b = 3
result = a * b
print(result) # 30
割り算 (/)
a = 10
b = 3
result = a / b
print(result) # 3.3333333333333335
💡 割り算の結果は常に**浮動小数点数(float)**です!
べき乗 (**)
result = 2 ** 3 # 2の3乗
print(result) # 8
result = 5 ** 2 # 5の2乗
print(result) # 25
🎯 学習目標 3: 余りと商を求める
商 (//)
小数点を切り捨てて整数部分のみ
result = 10 // 3
print(result) # 3 (商のみ)
result = 20 // 6
print(result) # 3
余り (%)
割った後の余り
result = 10 % 3
print(result) # 1 (余り)
result = 20 % 6
print(result) # 2
実生活の例
# キャンディー10個を3人で分けると?
candy = 10
people = 3
each = candy // people # 一人何個? (商)
remain = candy % people # 残りのキャンディー? (余り)
print(f"一人{each}個ずつ、{remain}個余る")
# 一人3個ずつ、1個余る
💡 商と余りの活用
- 商(
//): 全体を等しく分けたときに各自が受け取る個数- 余り(
%): 等しく分けた後に残る個数
🎯 学習目標 4: 数値の型を確認する
type() 関数で型を確認
age = 25
height = 175.5
print(type(age)) # <class 'int'>
print(type(height)) # <class 'float'>
型変換
# 浮動小数点数を整数へ
pi = 3.14
pi_int = int(pi)
print(pi_int) # 3 (小数点切り捨て)
# 整数を浮動小数点数へ
age = 25
age_float = float(age)
print(age_float) # 25.0
💡 型変換の注意点
int()は小数点を切り捨てます(四捨五入ではありません!)float()は小数点.0を追加します
💻 実習例題
例題1: 簡単な電卓
a = 100
b = 30
print("足し算:", a + b)
print("引き算:", a - b)
print("掛け算:", a * b)
print("割り算:", a / b)
print("商:", a // b)
print("余り:", a % b)
出力:
足し算: 130
引き算: 70
掛け算: 3000
割り算: 3.3333333333333335
商: 3
余り: 10
例題2: BMI計算機
# 身長と体重の入力
height = 1.75 # メートル単位
weight = 70 # キログラム
# BMI計算 (体格指数 = 体重 / 身長²)
bmi = weight / (height ** 2)
print("身長:", height, "m")
print("体重:", weight, "kg")
print("BMI:", bmi)
出力:
身長: 1.75 m
体重: 70 kg
BMI: 22.857142857142858
例題3: 時間計算
# 125分は何時間何分?
total_minutes = 125
hours = total_minutes // 60 # 商 = 時間
minutes = total_minutes % 60 # 余り = 分
print(f"{total_minutes}分 = {hours}時間{minutes}分")
# 125分 = 2時間5分
🔄 複合代入演算子
加算後に保存 (+=)
score = 10
score = score + 5 # この代わりに
score = 10
score += 5 # こう簡単に!
print(score) # 15
その他の複合演算子
number = 10
number += 5 # number = number + 5 → 15
number -= 3 # number = number - 3 → 12
number *= 2 # number = number * 2 → 24
number /= 4 # number = number / 4 → 6.0
🎨 数値のフォーマット
小数点以下の桁数制限
pi = 3.141592653589793
# 小数点以下2桁まで
print(round(pi, 2)) # 3.14
# 小数点以下4桁まで
print(round(pi, 4)) # 3.1416
f-stringでフォーマット指定
price = 1234.5678
print(f"価格: {price:.2f}円") # 価格: 1234.57円
print(f"価格: {price:.0f}円") # 価格: 1235円
⚠️ 注意事項
注意1: 整数の割り算
# Python 3では整数同士を割っても浮動小数点数!
result = 10 / 2
print(result) # 5.0 (浮動小数点数)
print(type(result)) # <class 'float'>
# 整数にするには//を使用
result = 10 // 2
print(result) # 5 (整数)
注意2: ゼロ除算
# ❌ エラー発生!
result = 10 / 0 # ZeroDivisionError
# 割る前に確認
b = 0
if b != 0:
result = 10 / b
else:
print("ゼロで割ることはできません!")
注意3: 浮動小数点演算の不正確性
result = 0.1 + 0.2
print(result) # 0.30000000000000004 (?)
# 理由: コンピュータは浮動小数点数を正確に表現できない
# 解決策: round()を使用
result = round(0.1 + 0.2, 2)
print(result) # 0.3
🔧 トラブルシューティング
問題1: TypeError
症状:
age = "25"
result = age + 1 # TypeError!
原因: 文字列と数値を演算できない
解決:
age = "25"
result = int(age) + 1 # 文字列を数値に変換
print(result) # 26
問題2: 小数点が長すぎる
症状:
result = 10 / 3
print(result) # 3.3333333333333335
解決:
result = 10 / 3
print(round(result, 2)) # 3.33
# または
print(f"{result:.2f}") # 3.33
🧪 練習問題
問題1: 温度変換器
摂氏30度を華氏に変換してください。
公式: 華氏 = 摂氏 × 9/5 + 32
💡 ヒント
変数に摂氏温度を格納して、公式をそのまま適用してください!
✅ 解答
celsius = 30
fahrenheit = celsius * 9/5 + 32
print(f"摂氏{celsius}度 = 華氏{fahrenheit}度")
# 摂氏30度 = 華氏86.0度
問題2: 偶数奇数判定
数値が偶数か奇数か確認してください。(余り演算を使用)
💡 ヒント
偶数は2で割った余りが0です!
✅ 解答
number = 7
remainder = number % 2
print("数値:", number)
print("2で割った余り:", remainder)
if remainder == 0:
print("偶数です")
else:
print("奇数です")
問題3: お釣り計算
1000円で650円の商品を買ったときのお釣りは?
💡 ヒント
お釣り = 支払った金額 - 商品価格
✅ 解答
money = 1000
price = 650
change = money - price
print(f"支払った金額: {money}円")
print(f"商品価格: {price}円")
print(f"お釣り: {change}円")
# お釣り: 350円
📝 今日学んだ内容のまとめ
- 整数(int): 小数点のない数値
- 浮動小数点数(float): 小数点のある数値
- 四則演算: +, -, *, /
- 特別な演算: **, //, %
- round(): 小数点の四捨五入
🎯 実習課題
課題: ショッピングモール計算機
次の情報で総決済金額を計算してください:
- 商品価格: 15000円
- 数量: 3個
- 割引率: 10% (0.1)
- 送料: 3000円
計算順序:
- 総商品金額 = 価格 × 数量
- 割引金額 = 総商品金額 × 割引率
- 最終金額 = 総商品金額 - 割引金額 + 送料
🔗 関連資料
📚 前回の学習
Day 4: 変数とprint() ⭐
前回は、変数を作ってprint()で出力する方法を学びました!
📚 次回の学習
Day 6: 文字列を扱う (str) ⭐⭐
次回は、文字列を扱う方法を学びます!
"遅いと思った時が一番早い時期です!" 🚀
Day 5/100 | Phase 1: Pythonを始める | #100DaysOfPython
