Pythonの数値演算、マスターしてみませんか?
プログラミングを始めたばかりだと、「数字の計算ってどうやるの?」って疑問に思いますよね。でも大丈夫!実はPython、数値の計算がとっても得意なんです。
この記事では、Pythonでの基本的な計算方法から、知っておくと便利なちょっとしたコツ、そして「うっかり」やりがちなミスとその対策まで、まるっと解説しちゃいます!サンプルコードもたくさん載せているので、実際に動かしながら楽しく学べますよ。
もう計算のやり方で悩むのはおしまいです!この記事を読めば、Pythonでの計算に自信が持てるようになり、プログラミングがもっともっと楽しくなるはず。
この記事で学べること
- Pythonでの足し算や引き算などの基本操作がわかる
- 数字の種類(整数と小数点付きの数)の違いを理解できる
- 計算するときに気をつけるべきポイントがわかる
- 変数を使った計算や、簡単な応用計算ができるようになる
Pythonの数値演算とは?
まず、「数値演算」って何?ってところからお話ししますね。
簡単に言うと、プログラムの中で数字を使って計算すること全般を指します。電卓でやるような単純な計算だけじゃありません。
例えば、
- ゲームキャラクターの位置を動かすための座標計算
- Webサイトでユーザーが入力した年齢から何かを判断する処理
- データ分析のために、たくさんの数字を足し合わせたり平均を出したり
- 「もし○○が△△より大きかったら」みたいな条件分岐での比較
みたいに、プログラムって実は裏でたくさんの計算をしています。
だから、Pythonでプログラミングをする上で、数値演算の基本を知っておくのは、とってもベーシックで、かつ役立つスキルになるんです。
Python数値演算の基本!四則演算と「算術演算子」を覚えよう
Pythonで計算を行うには、「算術演算子」と呼ばれる記号を使います。
小学校で習った「+」や「-」と同じようなものですね。まずは基本となる演算子を覚えちゃいましょう!
+
: 足し算 (例 5 + 3 = 8)-
: 引き算 (例 5 - 3 = 2)*
: 掛け算 (例 5 * 3 = 15)/
: 割り算 (例 5 / 3 = 1.666...)%
: 剰余 (割り算の余り 例 5 % 3 = 2)**
: べき乗 (例 5 ** 3 = 125 → 5の3乗)//
: 切り捨て除算 (割り算の答えの整数部分 例 5 // 3 = 1)
たくさんあるように見えますが、使ううちに自然と指が覚えてくれますよ。順番に見ていきましょう!
足し算、引き算、掛け算 (+, -, *) の書き方
まずは一番基本の足し算、引き算、掛け算です。これは見たまんま、直感的に使えます。
Pythonで書くとこんな感じ。
print(10 + 5) # 足し算 print(10 - 5) # 引き算 print(10 * 5) # 掛け算
これを実行すると、ちゃんと計算結果が表示されます。
15 5 50
ね、簡単でしょう? まずはこの3つから試してみるのがおすすめです。
割り算の書き方:注意点も解説 (/, //, %)
次に割り算です。Pythonの割り算にはちょっと特徴があって、3種類の方法があります。
/
: 普通の割り算。結果は必ず小数点付きの数 (float型) になります。//
: 切り捨て除算。割り算の答えの、小数点以下をバッサリ切り捨てた整数部分だけが結果になります。%
: 剰余。割り算をしたときの余りだけを求めます。
言葉だけだとピンと来ないかもしれないので、例を見てみましょう。10を3で割ってみます。
print(10 / 3) # 普通の割り算 print(10 // 3) # 切り捨て除算 print(10 % 3) # 剰余 (余り)
実行結果はこちら。
3.3333333333333335 3 1
10 / 3
は普通に計算されて小数点付きの結果に。10 // 3
は、3.33... の小数点以下が切り捨てられて 3
に。10 % 3
は、10割る3は3余り1なので、その余りの 1
が結果になっていますね。この3つの割り算の違い、しっかり押さえておくと後々便利ですよ!例えば %
は、数字が偶数か奇数か判定するときなんかに使えます (2で割った余りが0なら偶数!)。
べき乗(累乗)の書き方 (**)
「べき乗」とか「累乗」って聞くと難しそうですが、要は「同じ数を何回か掛け合わせる」計算のことです。数学で $2^3$ みたいに書くアレですね。Pythonではアスタリスク2つ **
で表現します。
例えば、「2の3乗」($2 \times 2 \times 2$) を計算したいときはこう書きます。
print(2 ** 3)
実行結果はもちろんこうなります。
8
右上に小さい数字が乗る計算は `**` を使う! と覚えておきましょう。
Pythonの数値演算で重要な「数値の型」:整数(int)と浮動小数点数(float)
Pythonで数字を扱うとき、実は裏側で数字の種類を区別しています。大きく分けて2つの「型」があります。プログラミングの世界では、データの種類を「型」と呼ぶんですね。
- 整数 (`int`型) :
10
や-5
や0
のような、小数点が付かない数字のこと。 - 浮動小数点数 (`float`型) :
3.14
や-0.5
や2.0
のように、小数点が付く数字のこと。
なんで型を気にする必要があるかというと、計算の種類によっては結果の型が変わったり、扱い方が少し違ったりすることがあるからです。
例えば、さっきの割り算 /
の結果は、たとえ割り切れても必ず `float` 型になります (例: 10 / 2
の結果は 5
じゃなくて 5.0
)。
自分が扱っている数字がどっちの型なのか知りたいときは、type()
という組み込み関数を使うと便利ですよ。
num1 = 100 num2 = 3.14 print(type(num1)) print(type(num2))
実行結果
<class 'int'> <class 'float'>
ちゃんと `int` (整数) と `float` (浮動小数点数) って教えてくれますね!
整数 (int) とは?使い方と例
整数 (`int`型) は、一番なじみのある数字の形かもしれません。小数点が付かない、キリッとした数字たちです。プラスでもマイナスでもゼロでもOK。
Pythonコードの中では、見たまま書けばそれが整数として扱われます。
my_integer = 123 negative_integer = -45 zero_num = 0 print(my_integer) print(negative_integer) print(zero_num) print(type(my_integer)) # 型も確認
実行結果
123 -45 0 <class 'int'>
特に難しいことはないですね!
浮動小数点数 (float) とは?使い方と例
浮動小数点数 (`float`型) は、小数点が付いている数字のことです。
円周率の 3.14
や、温度の -5.5
度、あるいは割り切れたとしても 10.0
のように小数点を付けて表現される数字も `float` 型になります。
整数と浮動小数点数を混ぜて計算すると、結果は基本的に `float` 型になります。
pi = 3.14 temperature = -5.5 exact_float = 10.0 print(pi) print(temperature) print(exact_float) print(type(pi)) # 型を確認 # 整数とfloatの計算 result = 10 + 0.5 print(result) print(type(result)) # 結果の型も確認
実行結果
3.14 -5.5 10.0 <class 'float'> 10.5 <class 'float'>
整数同士の計算でも、割り算 `/` を使うと結果は `float` になる点も覚えておきましょう!
実践!Python数値演算を使ってみよう
基本がわかったところで、少しだけ応用編です!
変数を使ったり、いくつかの計算を組み合わせたりして、ちょっとしたプログラムを書いてみましょう。実際に手を動かしてみるのが、一番の上達への近道ですよ!
サンプル1:変数を使って平均値を計算する
いくつかのテストの点数があって、その平均点を出したい、みたいな場面を考えてみましょう。点数を「変数」という箱に入れておくと、あとで計算がしやすくなります。
# テストの点数を変数に入れる score1 = 70 score2 = 85 score3 = 65 # 合計点を計算 total_score = score1 + score2 + score3 # 科目数を数える (今回は3科目) num_subjects = 3 # 平均点を計算 (合計点 ÷ 科目数) average_score = total_score / num_subjects # 結果を表示 print("合計点:", total_score) print("平均点:", average_score)
実行結果
合計点: 220 平均点: 73.33333333333333
こんな風に、変数を使うと、どの数字が何を表しているかわかりやすくなりますし、あとで点数が変わっても変数の値を変えるだけで済みます。とっても便利!
サンプル2:簡単な割引計算をしてみる
お買い物に行ったとき、「2割引っていくら?」って計算しますよね。それをPythonでやってみましょう!
# 商品の元の値段 price = 1500 # 割引率 (20%オフなら0.2) discount_rate = 0.2 # 割引額を計算 (元の値段 × 割引率) discount_amount = price * discount_rate # 割引後の価格を計算 (元の値段 - 割引額) final_price = price - discount_amount # 結果を表示 print("元の値段:", price, "円") print("割引額:", discount_amount, "円") print("割引後の価格:", final_price, "円")
実行結果
元の値段: 1500 円 割引額: 300.0 円 割引後の価格: 1200.0 円
パーセントの計算も、掛け算や引き算を使えばPythonで簡単にできますね!ちょっとした計算もプログラムに任せると楽ちんです。
Python数値演算の注意点
Pythonの数値演算は便利ですが、いくつか気をつけたいポイント、いわゆる「落とし穴」もあります。知っておけば、エラーが出ても慌てずに対処できるようになりますよ。転ばぬ先の杖、ですね!
【注意点1】ゼロ除算エラー (ZeroDivisionError)
数学の世界では「0で割る」ことはできません。プログラムの世界も同じで、数値を0で割ろうとするとエラーが発生してプログラムが止まってしまいます。これが「ゼロ除算エラー (`ZeroDivisionError`)」です。
例えば、こんなコードを実行すると…
# わざと0で割ってみる result = 10 / 0 print(result)
こうなります。
Traceback (most recent call last): File "main.py", line 2, in <module> result = 10 / 0 ZeroDivisionError: division by zero
`ZeroDivisionError` と出ていますね。これを防ぐには、割り算をする前に「割る数が0じゃないか?」をチェックするのが一般的です。if
文を使います。
divisor = 0 # 割る数 dividend = 10 # 割られる数 if divisor != 0: # もし割る数が0でなければ result = dividend / divisor print(result) else: # もし割る数が0だったら print("エラー:0で割ることはできません!")
実行結果
エラー:0で割ることはできません!
こうすれば、エラーで止まる代わりにメッセージを出して、安全にプログラムを続けることができます。
【注意点2】浮動小数点数 (float) の計算誤差
これはちょっと不思議な現象かもしれませんが、コンピュータが `float` 型の数値を扱うとき、内部の仕組みの関係で、ごくごく稀に、ほんのわずかな計算誤差が生じることがあります。
有名な例がこれです。
print(0.1 + 0.2)
普通に考えたら `0.3` になってほしいですよね?でも、実行してみると…
0.30000000000000004
あれ?なんか後ろに余計な数字が付いていますね。これが計算誤差です。ほとんどの場合は無視できるくらい小さな差ですが、お金の計算のように、すごく厳密な精度が求められる場面では、ちょっと注意が必要です。(そういうときは `Decimal` という別の仕組みを使うこともありますが、まずは「`float` にはこういうクセがあるんだな」と知っておくだけでOKです)。
【まとめ】Python数値演算をマスターして、プログラミングの可能性を広げよう!
この記事では、Pythonでの数値演算について、基本的なところから見てきました。
- 足し算、引き算、掛け算、割り算などの基本的な算術演算子の使い方
- 整数 (`int`) と浮動小数点数 (`float`) という数字の型の違い
- 変数を使った計算や、簡単なサンプルプログラム
- ゼロ除算エラーや浮動小数点数の誤差といった注意点
数値演算ができるようになると、作れるプログラムの幅がぐーんと広がります。データ処理の第一歩を踏み出したり、ゲームのロジックを考えたり、身の回りのちょっとした計算を自動化したり…。
これであなたもPythonで計算はバッチリ!自信を持って、どんどん色々なプログラム作りに挑戦してみてくださいね。Pythonプログラミング、もっともっと楽しんでいきましょう!
【関連記事】 「Pythonとは?」に答える最初の一歩
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。