Python 逆引き集 | 数値・計算:整数を扱う

Python Python
スポンサーリンク
スポンサーリンク
  1. Pythonで整数を扱う基本を、実務で使える形で身につける
    1. まず知っておきたい整数とは何か
    2. 整数を扱う理由を実務目線で理解する
  2. 整数を変数に入れて使う
    1. 変数名は意味が伝わるものにする
  3. 整数の基本計算を身につける
    1. 足し算、引き算、掛け算
    2. 割り算は整数にならないことがある
    3. 整数として割りたいときは `//` を使う
    4. 余りを求める `%` は実務で非常によく使う
    5. べき乗 “ も覚えておく
  4. 整数と文字列の違いを理解する
    1. 文字列を整数に変換する `int()`
    2. `int()` で変換できない値に注意する
  5. 整数に関する実務で重要な注意点
    1. 注意点1:割り算の結果の型を意識する
    2. 注意点2:先頭に0をつけた整数は書けない
    3. 注意点3:金額を安易に小数で扱わない
    4. 注意点4:ユーザー入力は必ず検証する
  6. 整数を使ったよくある処理パターン
    1. パターン1:カウンターとして使う
    2. パターン2:偶数・奇数を判定する
    3. パターン3:一定件数ごとに処理する
    4. パターン4:合計を計算する
  7. 初心者が覚えておきたい演算のテンプレート
    1. テンプレート1:入力された整数で計算する
    2. テンプレート2:安全に整数へ変換する
    3. テンプレート3:商と余りを同時に使う
  8. 実務を意識した例題で理解を固める
    1. 例題1:在庫の残り数を計算する
    2. 例題2:会員ポイントの合計を計算する
    3. 例題3:1ページあたりの表示件数から総ページ数を考える
  9. 初心者がつまずきやすいポイントを深掘りする
    1. 数字に見えても文字列のことがある
    2. 整数にすべきものと、文字列のままにすべきものを区別する
    3. エラーを怖がるのではなく、原因を分解して考える
  10. 実務で使えるようになるための学習ステップ
    1. ステップ1:基本演算を手で試す
    2. ステップ2:変数を使って意味のある計算をする
    3. ステップ3:文字列から整数への変換を練習する
    4. ステップ4:余りと切り捨てを使う問題に慣れる
    5. ステップ5:入力エラーへの対処を覚える
  11. そのまま使いやすい練習用コード集
    1. 練習コード1:整数の基本演算を確認する
    2. 練習コード2:入力値を整数として扱う
    3. 練習コード3:偶数か奇数かを判定する
    4. 練習コード4:安全に整数入力を受け取る
  12. まとめ

Pythonで整数を扱う基本を、実務で使える形で身につける

Pythonを実務で使えるようになるうえで、整数の扱いは最初にしっかり身につけておきたい土台です。整数は、個数を数える、IDを扱う、ループ回数を決める、金額を円単位で管理する、配列の位置を指定する、といった場面で日常的に登場します。見た目は単純でも、実務では「どこまでが整数で、どこからが小数なのか」「計算結果は何型になるのか」「文字列として受け取った数字をどう安全に扱うのか」といった理解が重要です。

この記事では、Python初心者でもつまずきにくいように、整数の考え方から実務での使い方までを順番に説明します。単なる文法の暗記ではなく、「なぜそうなるのか」「どこで使うのか」まで含めて理解できるように、例題、コード例、テンプレートを交えながら進めます。

まず知っておきたい整数とは何か

整数とは、小数点を含まない数のことです。たとえば 0、1、10、-3、1000 は整数です。一方で 3.14 や 0.5 は整数ではなく小数です。

Pythonでは、整数は int という型で扱われます。型とは、データの種類を表すものです。実務ではこの「型」を意識できるかどうかで、エラーの減り方やコードの読みやすさが大きく変わります。

# 整数を変数に代入する例
age = 30
stock = 120
temperature = -5

# 型を確認する
print(type(age))          # <class 'int'>
print(type(stock))        # <class 'int'>
print(type(temperature))  # <class 'int'>
Python

ここで大事なのは、Pythonでは見た目が数字でも、実際には別の型になっていることがある点です。たとえば "10" は文字列であり、整数ではありません。この違いを曖昧にしたまま進むと、実務で入力値処理やCSV読込時に必ず困ります。

整数を扱う理由を実務目線で理解する

整数は学習用の簡単な題材ではなく、実務そのものに直結しています。たとえば次のような場面です。

  • 商品の在庫数を管理する
  • 会員IDや注文番号のような番号を扱う
  • 処理回数や試行回数を数える
  • ランキング順位を管理する
  • 税込価格を円単位で扱う
  • 配列やリストの位置番号を指定する

整数を正しく扱えるようになると、単なる計算だけでなく、条件分岐、繰り返し、データ処理の理解も一気に進みます。つまり整数は、Python全体の理解を支える中核です。

整数を変数に入れて使う

Pythonでは、数をそのまま書くこともできますが、実務ではほとんどの場合、変数に入れて使います。変数は、値に名前をつけて再利用しやすくする仕組みです。

# 商品の価格と購入数を整数で管理する
price = 1200     # 1個あたりの価格(円)
quantity = 3     # 購入数

# 合計金額を計算する
total = price * quantity

print(total)  # 3600
Python

この例は非常に基本的ですが、実務ではこの考え方がそのまま売上計算、在庫管理、件数集計などに発展します。

変数名は意味が伝わるものにする

初心者のうちは a や x のような短い名前を使いがちですが、実務では避けたほうがよいです。コードは書く時間より読む時間のほうが長いため、何を表しているかが一目で分かる名前にすることが重要です。

# 悪い例:何の値か分かりにくい
a = 500
b = 4
c = a * b

# 良い例:意味が伝わる
unit_price = 500
item_count = 4
subtotal = unit_price * item_count
Python

大事なのは、「今の自分が分かる名前」ではなく、「後から読む人にも分かる名前」にすることです。これはチーム開発では特に重要です。

整数の基本計算を身につける

整数を扱う第一歩は、四則演算を自然に使えるようになることです。Pythonでは次の演算子を使います。

  • `+` 足し算
  • `-` 引き算
  • `*` 掛け算
  • `/` 割り算
  • `//` 切り捨て除算
  • `%` 余り
  • `**` べき乗

足し算、引き算、掛け算

# 基本的な整数計算
a = 10
b = 3

print(a + b)  # 13
print(a - b)  # 7
print(a * b)  # 30
Python

ここは比較的分かりやすい部分ですが、実務で特に注意したいのは割り算です。

割り算は整数にならないことがある

Pythonの / は、整数同士でも結果が小数になります。

# / は小数になる
a = 10
b = 3

result = a / b
print(result)        # 3.3333333333333335
print(type(result))  # <class 'float'>
Python

これは初心者が非常につまずきやすい点です。見た目では「整数を割っているのだから整数っぽい」と感じやすいのですが、Pythonでは / の結果は float になります。

実務では、この違いを理解していないと次のような問題が起こります。

  • 件数を計算したつもりが小数になってしまう
  • 配列の添字に使えずエラーになる
  • 型の違いで比較や表示結果が崩れる

整数として割りたいときは `//` を使う

整数同士の割り算で、小数部分を切り捨てたいときは // を使います。

# // は小数点以下を切り捨てる
a = 10
b = 3

result = a // b
print(result)        # 3
print(type(result))  # <class 'int'>
Python

ただし、「切り捨てる」という動作を正しく理解して使うことが重要です。たとえば「平均値」や「割合」の計算に // を使ってしまうと、必要な小数部分まで失われます。逆に、箱詰め数やページ数の計算のように、整数で扱いたい場面では役立ちます。

例題:商品を箱に詰める

1箱に6個入るとして、25個の商品は何箱に分けられるかを考えます。

# 1箱に入る個数
items_per_box = 6

# 全体の商品数
total_items = 25

# 完全に埋まる箱の数
full_boxes = total_items // items_per_box

print(full_boxes)  # 4
Python

この結果は「満杯になる箱の数」です。25個すべてを入れるには、実際には余りも考える必要があります。そこで % が登場します。

余りを求める `%` は実務で非常によく使う

# % は余りを求める
a = 10
b = 3

result = a % b
print(result)  # 1
Python

余りは単なる学習用の概念ではありません。実務ではかなり頻繁に使います。

  • 偶数か奇数かを判定する
  • 一定件数ごとに改行や区切りを入れる
  • 何個余るかを計算する
  • 一定周期の処理を行う

例題:商品を箱に詰めたときの余りを求める

# 1箱に入る個数
items_per_box = 6

# 全体の商品数
total_items = 25

# 余る個数
remaining_items = total_items % items_per_box

print(remaining_items)  # 1
Python

このように // と % はセットで使うことが多いです。箱詰め、ページ分割、時間変換、IDの分類など、実務的な用途がたくさんあります。

べき乗 “ も覚えておく

# べき乗の例
print(2** 3)  # 8
print(5 ** 2)  # 25
Python

データ分析、統計、シミュレーション、暗号関連の基礎学習でも登場するため、意味だけは早めに覚えておくとよいです。

整数と文字列の違いを理解する

実務で初心者が最もよくぶつかる問題の1つが、「数字に見える文字列」を整数だと思い込んでしまうことです。

# 文字列としての数字
text_number = "100"

print(type(text_number))  # <class 'str'>
Python

この "100" は整数ではありません。見た目は数字でも、コンピュータから見ると文字の並びです。そのため、そのままでは数値計算できません。

# 文字列のままでは数値計算にならない例
a = "100"
b = "20"

print(a + b)  # 10020
Python

これは足し算ではなく、文字列の連結です。初心者にとって非常に重要な注意点です。

文字列を整数に変換する `int()`

数値として使いたい場合は、int() で変換します。

# 文字列を整数に変換する
a = "100"
b = "20"

result = int(a) + int(b)
print(result)  # 120
Python

この変換は、ユーザー入力やCSVファイル読込、APIレスポンス処理などで毎日のように出てきます。実務でPythonを使うなら、int() は必須です。

例題:入力された年齢を整数として扱う

# input() で受け取った値は文字列になる
age_text = input("年齢を入力してください: ")

# 整数に変換する
age = int(age_text)

# 10年後の年齢を計算する
future_age = age + 10

print("10年後の年齢は", future_age, "歳です。")
Python

`int()` で変換できない値に注意する

ここは実務で特に深掘りして理解すべき大事なポイントです。int() は、何でも変換できるわけではありません。

# 変換できない文字列の例
text = "abc"

# これはエラーになる
# number = int(text)
Python

また、小数の文字列もそのままでは整数にできません。

# 小数字符列はそのまま int() に渡すとエラー
text = "3.14"

# これはエラーになる
# number = int(text)
Python

もし "3.14" のような値を扱うなら、まず float() で小数に変換し、その後に必要に応じて整数化する流れになります。

# 小数字符列を一度 float に変換してから int にする
text = "3.14"
number = int(float(text))

print(number)  # 3
Python

ただし、この場合は小数部分が切り捨てられます。ここを理解せずに使うと、金額や数量の計算で不具合につながることがあります。実務では「なぜ整数化してよいのか」を必ず確認するべきです。

整数に関する実務で重要な注意点

整数は簡単そうに見えて、実務では落とし穴があります。ここでは特に重要なものをまとめて説明します。

注意点1:割り算の結果の型を意識する

先ほど触れたように、/ は float を返します。これを知らないと、「なぜ整数として使えないのか」が分からなくなります。

# 割り算の結果は float
count = 9
group = 2

result = count / group

print(result)        # 4.5
print(type(result))  # <class 'float'>
Python

配列の添字や range() の回数に使うなら、整数である必要があります。

# range() には整数が必要
count = 10
step = 2

loop_count = count // step  # 整数にする
for i in range(loop_count):
    print(i)
Python

注意点2:先頭に0をつけた整数は書けない

Pythonでは、0123 のような書き方は通常の整数リテラルとして使えません。

# これはエラーになる例
# code = 0123
Python

郵便番号、社員番号、会員番号のように先頭の0が意味を持つデータは、整数ではなく文字列として扱うべきです。

# 先頭の0が必要な番号は文字列で扱う
postal_code = "012-3456"
member_code = "00123"
Python

これは実務で非常に大切です。番号だからといって何でも整数にしてはいけません。「計算する値」なのか、「表示・識別のための文字列」なのかを区別する必要があります。

注意点3:金額を安易に小数で扱わない

日本円のように基本的に整数で扱える金額は、整数で扱うほうが安全な場面が多いです。

# 円単位の金額を整数で扱う
unit_price = 980
quantity = 3
shipping_fee = 500

total_price = unit_price * quantity + shipping_fee
print(total_price)  # 3440
Python

一方で、消費税計算や外貨、小数点を含む単価では慎重さが必要です。単純に float を使うと誤差が出ることがあります。初心者段階ではまず「整数で扱えるものは整数で扱う」という意識を持つとよいです。

注意点4:ユーザー入力は必ず検証する

入力値は常に正しいとは限りません。ユーザーが数字ではない値を入れることもあります。そのまま int() に通すとエラーになります。

# 例外処理つきで安全に整数へ変換する
user_input = input("購入数を入力してください: ")

try:
    quantity = int(user_input)
    print("購入数は", quantity, "です。")
except ValueError:
    print("整数を入力してください。")
Python

この考え方はセキュリティや堅牢性の観点でも重要です。入力値を無条件に信じないことは、実務で安全なプログラムを書く基本姿勢です。

整数を使ったよくある処理パターン

ここからは、実務に近い形で整数をどう使うかを見ていきます。パターンとして覚えると応用しやすくなります。

パターン1:カウンターとして使う

件数を数える処理です。

# 商品数を数えるカウンター
count = 0

# 商品リスト
items = ["apple", "banana", "orange"]

# 1件ずつ数える
for item in items:
    count += 1  # count = count + 1 と同じ
    print(item, "を数えました。")

print("合計件数:", count)
Python

count += 1 は非常によく使います。データ件数、エラー回数、アクセス数、成功回数など、実務では頻出です。

パターン2:偶数・奇数を判定する

# 偶数か奇数かを判定する
number = 7

if number % 2 == 0:
    print("偶数です。")
else:
    print("奇数です。")
Python

% 2 は、初心者が最初に覚えるべき実用的な使い方の1つです。入力チェックや条件分岐の練習にも向いています。

パターン3:一定件数ごとに処理する

# 5件ごとに区切りを入れる
for i in range(1, 16):
    print("データ", i)

    # 5件ごとに区切りを表示
    if i % 5 == 0:
        print("-----")
Python

実務ではログ出力、一覧表示、バッチ処理の途中経過表示などで使われます。

パターン4:合計を計算する

# 売上の合計を計算する
sales_list = [1200, 1500, 980, 2000]
total_sales = 0

for sales in sales_list:
    total_sales += sales

print("合計売上:", total_sales)
Python

整数の足し算は基本中の基本ですが、集計処理の原型です。データ処理の世界ではこの形が何度も登場します。

初心者が覚えておきたい演算のテンプレート

実務でよく使う形は、テンプレートとして持っておくと便利です。

テンプレート1:入力された整数で計算する

# 数字を入力して合計を出すテンプレート
num1_text = input("1つ目の整数を入力してください: ")
num2_text = input("2つ目の整数を入力してください: ")

# 文字列を整数に変換する
num1 = int(num1_text)
num2 = int(num2_text)

# 合計を計算する
total = num1 + num2

print("合計は", total, "です。")
Python

テンプレート2:安全に整数へ変換する

# 例外処理つきで整数入力を受け取るテンプレート
user_input = input("整数を入力してください: ")

try:
    number = int(user_input)
    print("入力された整数は", number, "です。")
except ValueError:
    print("整数として変換できない値です。")
Python

テンプレート3:商と余りを同時に使う

# 商と余りを同時に求めるテンプレート
total_items = 25
items_per_box = 6

# 満杯の箱数
full_boxes = total_items // items_per_box

# 余る個数
remaining_items = total_items % items_per_box

print("満杯の箱数:", full_boxes)
print("余る個数:", remaining_items)
Python

このテンプレートは、配送、在庫、ページング、時間換算など幅広く使えます。

実務を意識した例題で理解を固める

ここでは、初心者でもイメージしやすく、実務にもつながる例題を扱います。

例題1:在庫の残り数を計算する

商品が100個あり、今日23個売れたとします。残り在庫を計算します。

# 初期在庫
stock = 100

# 売れた数
sold_quantity = 23

# 残り在庫を計算する
remaining_stock = stock - sold_quantity

print("残り在庫は", remaining_stock, "個です。")
Python

ここで重要なのは、在庫は小数ではなく整数で扱うのが自然だという点です。現実の業務データと結びつけて考えると、整数の意味が分かりやすくなります。

例題2:会員ポイントの合計を計算する

# 現在のポイント
current_point = 1200

# 今回付与されるポイント
added_point = 180

# 合計ポイント
total_point = current_point + added_point

print("合計ポイントは", total_point, "ポイントです。")
Python

ポイント、回数、件数などは整数との相性がよい代表例です。

例題3:1ページあたりの表示件数から総ページ数を考える

1ページに10件表示し、全部で95件のデータがあるとします。このとき、何ページ必要かを考えます。

# 総データ件数
total_records = 95

# 1ページに表示する件数
per_page = 10

# 満杯ページ数
full_pages = total_records // per_page

# 余り件数
remaining_records = total_records % per_page

# 総ページ数を求める
if remaining_records == 0:
    total_pages = full_pages
else:
    total_pages = full_pages + 1

print("必要なページ数は", total_pages, "ページです。")
Python

これはWebアプリや業務システムで非常によく出る考え方です。単なる算数に見えて、実務では重要なロジックです。

初心者がつまずきやすいポイントを深掘りする

整数の学習で特に混乱しやすい部分を、ここで改めて整理します。

数字に見えても文字列のことがある

これは本当に重要です。フォーム入力、CSV、Excelデータ、APIレスポンスでは、数字に見える値が文字列で渡ってくることが珍しくありません。そのため、見た目ではなく「型」を確認する習慣が大切です。

# 型を確認する習慣をつける
value = "50"

print(value)        # 50
print(type(value))  # <class 'str'>
Python

見た目だけで判断しないことは、バグを減らすうえで非常に効果的です。

整数にすべきものと、文字列のままにすべきものを区別する

ここは実務的に非常に大事です。たとえば次のように考えます。

  • 年齢、件数、個数、在庫数、金額の円単位は整数に向いています
  • 郵便番号、電話番号、社員番号、会員コードは文字列に向いています

番号のように見えても、「計算するもの」ではなく「識別するもの」であれば文字列として扱うべきです。これを誤ると、先頭の0が消える、桁数が変わる、表示が壊れる、といった不具合につながります。

エラーを怖がるのではなく、原因を分解して考える

整数まわりのエラーでは、たとえば次のようなものが出ます。

  • `ValueError`:文字列を整数に変換できない
  • `TypeError`:整数と文字列をそのまま計算しようとした

こうしたエラーが出たときは、まず次を確認すると原因を特定しやすいです。

  • その値の中身は何か
  • その値の型は何か
  • どこで文字列のままになったか
  • 整数に変換してよい値か

この確認手順を持っているだけで、初心者から一歩抜け出せます。

実務で使えるようになるための学習ステップ

整数の知識を「知っている」だけでは、実務ではまだ足りません。使えるようになるには、次の順番で練習するのがおすすめです。

ステップ1:基本演算を手で試す

まずは +、-、*、/、//、% を自分で何度か動かします。数字を変えながら、結果の違いを確かめることが大切です。

ステップ2:変数を使って意味のある計算をする

価格、個数、在庫、件数など、現実にありそうな名前の変数で計算します。抽象的な a、b より、業務イメージのある名前のほうが理解が定着しやすいです。

ステップ3:文字列から整数への変換を練習する

input() を使って値を受け取り、int() で変換する練習をします。ここで型の違いを体感しておくと、後のデータ処理がかなり楽になります。

ステップ4:余りと切り捨てを使う問題に慣れる

箱詰め、ページ分割、偶数奇数判定などは、// と % の理解に最適です。この2つは実務で本当によく使います。

ステップ5:入力エラーへの対処を覚える

try と except を使って、不正な入力にも対応できるようにします。実務では正常系だけでなく異常系への備えが重要です。

そのまま使いやすい練習用コード集

最後に、学習と実務の橋渡しになる練習コードをまとめます。WordPressに貼りやすいよう、そのまま使える形で掲載します。

練習コード1:整数の基本演算を確認する

# 2つの整数を用意する
a = 15
b = 4

# 各種演算の結果を表示する
print("足し算:", a + b)     # 19
print("引き算:", a - b)     # 11
print("掛け算:", a * b)     # 60
print("割り算:", a / b)     # 3.75
print("切り捨て除算:", a // b)  # 3
print("余り:", a % b)       # 3
print("べき乗:", a ** b)    # 50625
Python

練習コード2:入力値を整数として扱う

# ユーザーから2つの整数を受け取る
num1_text = input("1つ目の整数を入力してください: ")
num2_text = input("2つ目の整数を入力してください: ")

# 文字列を整数に変換する
num1 = int(num1_text)
num2 = int(num2_text)

# 合計と差を計算する
total = num1 + num2
difference = num1 - num2

# 結果を表示する
print("合計は", total, "です。")
print("差は", difference, "です。")
Python

練習コード3:偶数か奇数かを判定する

# 判定したい整数
number = int(input("整数を入力してください: "))

# 余りを使って偶数・奇数を判定する
if number % 2 == 0:
    print("偶数です。")
else:
    print("奇数です。")
Python

練習コード4:安全に整数入力を受け取る

# ユーザー入力を受け取る
user_input = input("購入数を入力してください: ")

try:
    # 整数に変換する
    quantity = int(user_input)

    # 整数として処理する
    print("購入数は", quantity, "です。")
except ValueError:
    # 整数に変換できなかった場合の処理
    print("エラー: 整数を入力してください。")
Python

まとめ

整数は、Pythonの最初の学習項目であると同時に、実務で長く使い続ける重要な基礎でもあります。足し算や引き算ができるだけでは不十分で、型の違い、割り算の結果、文字列からの変換、余りの活用、入力値の検証まで理解しておくことが大切です。

特に重要なのは、次の点です。

  • 整数は `int` 型であることを意識することです
  • `/` は小数になり、`//` は切り捨てになることです
  • 数字に見える文字列は整数ではないことです
  • `int()` で変換できる場合とできない場合があることです
  • 先頭の0を持つ番号は文字列として扱うべきことです
  • 入力値をそのまま信じず、検証する姿勢が重要であることです

整数をしっかり理解すると、条件分岐、繰り返し、リスト処理、ファイル処理、Webアプリ開発へと自然につなげやすくなります。基礎だからこそ、曖昧にせず、手を動かしながら確実に身につけることが大切です。

次に学ぶなら、比較演算子、条件分岐、繰り返し処理、リストの添字といったテーマに進むと、整数の知識をすぐ実践で生かしやすくなります。必要であれば続けて、「小数を扱う」「割合を計算する」「実務でよく使う入力チェック」までつながる形でも整理できます。

タイトルとURLをコピーしました