1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python 100日チャレンジ】Day 5 - 数値を扱う (int, float)

1
Last updated at Posted at 2025-10-28

python-100days-day05-numbers.png

Pythonで数値を扱う方法を学びましょう!電卓のように使えます。(20分で読了 ⭐⭐)

🎯 今日の学習目標

  1. 整数(int)と浮動小数点数(float)を理解する
  2. 四則演算 (+, -, *, /) を使う
  3. 余りと商を求める
  4. 数値の型を確認する

📚 前提知識

🎯 学習目標 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円

📝 今日学んだ内容のまとめ

  1. 整数(int): 小数点のない数値
  2. 浮動小数点数(float): 小数点のある数値
  3. 四則演算: +, -, *, /
  4. 特別な演算: **, //, %
  5. round(): 小数点の四捨五入

🎯 実習課題

課題: ショッピングモール計算機

次の情報で総決済金額を計算してください:

  • 商品価格: 15000円
  • 数量: 3個
  • 割引率: 10% (0.1)
  • 送料: 3000円

計算順序:

  1. 総商品金額 = 価格 × 数量
  2. 割引金額 = 総商品金額 × 割引率
  3. 最終金額 = 総商品金額 - 割引金額 + 送料

🔗 関連資料


📚 前回の学習

Day 4: 変数とprint()

前回は、変数を作ってprint()で出力する方法を学びました!

📚 次回の学習

Day 6: 文字列を扱う (str) ⭐⭐

次回は、文字列を扱う方法を学びます!


"遅いと思った時が一番早い時期です!" 🚀

Day 5/100 | Phase 1: Pythonを始める | #100DaysOfPython

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?