Python入門~4章:演算子編~

スポンサーリンク
スポンサードリンク

Pythonの四則演算

Pythonで四則演算を行うときに使う式は次のようになります。

 足し算は、+
引き算は、-
掛け算は、*
割り算は、/

実際にプログラムを見てイメージをつかむほうがわかりやすいので
次のサンプルプログラムを使って説明します。

では、四則演算を試してみましょう。
足し算は、1+1
引き算は、2-1
掛け算は、3*2
割り算は、4/2
をそれぞれ入力して結果を確認します。

Pythonコマンドを実行して、以下のプログラムを対話モードで確認してみてください。

>>> 1+1
2
>>> 2-1
1
>>> 3*2
6
>>> 4/2
2.0

剰余演算(割り算の商と余りについて)

割り算を行う演算式は、”/”を使うと説明しました。
では、割り算を行った結果、余りが出た場合の演算式について説明します。

割り算の余りを求めるには、演算式で”%”を使います。
AをBで割った時の余りをC、商をDとした場合、次の式で求めます。

余り"C"を求めるプログラム(商は求められません)
C = A % B
商"D"を求めるプログラム(余りは求められません)
D = A / B

このように、商と余りは別の計算式を使って求めます。

では、次のサンプルプログラムを試してみましょう。
“10 % 3”
“10 / 3”
をそれぞれ入力して結果を確認します。

Pythonコマンドを実行して、以下のプログラムを対話モードで確認してみてください。

>>> 10 % 3
1
>>> 10 / 3
3.3333333333333335

10÷3の余りは1、10÷3の商は3ですが、
割り切れないので小数点で表示されています。

※3章で登場した、浮動小数点数型になります。

除算(小数点切り捨て)

割り算を行う演算式は、”/”を使うと説明しましたが、
先ほどの例の”10/3″のように、割り切れなかった場合は、
商が小数点で表示されてしまいます。
“10/3″の商が、”3.3333333333333335″になっています。

この商を、小数点切り捨てして値を取り出す演算子があります。
“//”でスラッシュを2回書きます。

“A // B”のように使います。

では、次のサンプルプログラムを試してみましょう。
“10 // 3”
“100 / 6”
“100 // 6”
をそれぞれ入力して結果を確認します。

Pythonコマンドを実行して、以下のプログラムを対話モードで確認してみてください。

>>> 10//3
3
>>> 100/6
16.666666666666668
>>> 100//6
16

“10/3″の小数点切り捨ての商は、”3”
“100/6″の商は、”16.666666666666668”
“100/6″の小数点切り捨ての商は、”16”
が求めることができました。

べき乗

数学で出てくる計算で、
2の3乗のような、「□の△乗」の計算を行うための計算式があります。

「□の△乗」を求めるには、演算式で”**”を使います。
AのB乗を求める場合は、次の式で求めます。

A ** B

では、次のサンプルプログラムを試してみましょう。
“2 ** 3”
“4 ** 5”
をそれぞれ入力して結果を確認します。

Pythonコマンドを実行して、以下のプログラムを対話モードで確認してみてください。

>>> 2 ** 3
8
>>> 4 ** 5
1024

2の3乗は、8
4の5乗は、1024
になりました。

演算の優先順位

演算の基本は、左側に書かれている式から計算を行いますが、
プログラムの中で”( )”の中に書かれている処理がある場合は、
“( )”の処理を優先します。

次に、演算子の”足し算(+)、引き算(-)”よりも、
“掛け算(*)、割り算(/)”が優先されます。

例えば、”A + B * C”という処理があったとすると、
“A + B”を先に行うのではなく、”B * C”を先に行います。
そのあとに”A”を足します。

では、次のサンプルプログラムを試してみましょう。
“(4 + 3) * 5”
“12 / (1 + 2)”
“10 + 5 * 4”
“6 + 8 * 2”
をそれぞれ入力して結果を確認します。

Pythonコマンドを実行して、以下のプログラムを対話モードで確認してみてください。

==============================
>>> (4 + 3) * 5
35
>>> 12 / (1 + 2)
4.0
>>> 10 + 5 * 4
30
>>> 6 + 8 * 2
22

“(4 + 3) * 5″は、”4 + 3″が先に計算されて、”7 * 5 = 35”
“12 / (1 + 2)”は、”1 + 2″が先に計算されて、”12 / 3 = 4”
“10 + 5 * 4″は、”5 * 4″が先に計算されて、”10 + 20 = 30”
“6 + 8 * 2″は、”8 * 2″が先に計算されて、”6 + 16 = 22”
になります。

演算の優先順位にしたがって、計算されていることがわかると思います。

代入演算子” = “

これまでのプログラムでも何度も登場してきていて
改めて説明をしていませんでしたが、
“=” を代入演算子と呼びます。

使い方は、
“a = b”とすることで、
bの値をaに代入する、となります。

再帰代入演算子

演算子の中で、同じ値を計算するときに
省略されて記載されることがあります。
プログラムでは簡略化のため、よく使われますので
その例について記載します。

 演算子 "+="
 [a += b]は、[a = a + b]と同じです。
演算子 "-="
 [a -= b]は、[a = a - b]と同じです。
演算子 "*="
 [a *= b]は、[a = a * b]と同じです。
演算子 "/="
 [a /= b]は、[a = a / b]と同じです。
演算子 "%="
 [a %= b]は、[a = a % b]と同じです。
演算子 "**="
 [a **= b]は、[a = a ** b]と同じです。

Pythonコマンドを実行して、以下のプログラムを対話モードで確認してみてください。

a = 1
a += 3
print(a)

a -= 2
print(a)

a *= 3
print(a)

a /= 2
print(a)

a = 10
a %= 3
print(a)

a = 3
a **= 3
print(a

<実行結果>

>>> a = 1
>>> a += 3
>>> print(a)
4
>>>
>>> a -= 2
>>> print(a)
2
>>>
>>> a *= 3
>>> print(a)
6
>>>
>>> a /= 2
>>> print(a)
3.0
>>>
>>> a = 10
>>> a %= 3
>>> print(a)
1
>>>
>>> a = 3
>>> a **= 3
>>> print(a)
27

比較演算子

数値を比べて、大きい、小さいという比較を行う
時に使う演算子が比較演算子です。比較演算子は次のようになります。

 aはbより大きい "a > b"
aはbより小さい "a < b"
aはb以上 "a >= b"
aはb以下 "a <= b"

Pythonコマンドを実行して、以下のプログラムを対話モードで確認してみてください。

a = 3
b = 1
a > b
a < b

a = 3, b = 1の場合、3は1より大きいので、
a > bの結果は、True(真)となります。
a < bの結果は、False(偽)となります。

<実行結果>

>>> a = 3
>>> b = 1
>>> a > b
True
>>> a < b
False

続けて次のサンプルプログラムも確認します。

a = 5
b = 5
a >= b
a <= b

b = 8
a >= b
a <= b

a = 5, b = 5の場合、
“>=”と”<=”の演算式で比較を行う場合、 以上、以下は同じ値も式としてはTrue(真)となります。 そのため、 a >= b, a <= bともにTrue(真)です。

a = 5, b = 8の場合、
同じ値ではないため、”>”と”<“の演算式と同じです。

5は8より小さいので、
a >= bの結果は、False(偽)となります。
a <= bの結果は、True(真)となります。

<実行結果>

>>> a = 5
>>> b = 5
>>> a >= b
True
>>> a <= b
True
>>> b = 8
>>> a >= b
False
>>> a <= b
True

論理演算子

条件を比べるときに使う演算子が、論理演算子です。

3章の「⑤論理型」で登場した
「True」と「False」を複数見る条件式になります。

論理演算子は次の3通りあります。

A and B
 AとBが、両方"True"になるとき、結果が"True"になります。
 AとBのどちらかまたは両方が、"False"になるとき、結果が"True"になります。
A or B
 AとBのどちらかまたは両方が、"True"になるとき、結果が"True"になります。
 AとBが、両方"False"になるとき、結果が"False"になります。
not A
 Aが、"False"になるとき、結果が"True"になります。
 Aが、"True"になるとき、結果が"False"になります。

では、論理演算子を使ったサンプルプログラムで使い方を確認します。

Pythonコマンドを実行して、以下のプログラムを対話モードで確認してみてください。

a = 5
b = 3
c = 1

(a > b) and (b > c)
(a > c) or (a < c)
not (a > b)

a = 5, b = 3, c = 1の場合、
a > bはTrue、b > cはTrue、
(a > b) and (b > c)は結果はTrue(真)となります。
a > cはTrue、a < cはFalse、 (a > c) or (a < c)は結果はTrue(真)となります。 a > bはTrueなので、not (a > b)はFalse(偽)となります。

<実行結果>

>>> a = 5
>>> b = 3
>>> c = 1
>>> (a > b) and (b > c)
True
>>> (a > c) or (a < c)
True
>>> not (a > b)
False

四則演算のまとめ

 足し算     +
引き算     -
掛け算     *
割り算の商   /
割り算(小数点切り捨て) //
割り算の余り  %
べき乗     **
再帰代入演算子
+=,-=,=,/=,%=,*=
比較演算子
>,<,>=,<=
論理演算子
and, or, not

(Visited 403 times, 1 visits today)
スポンサーリンク
スポンサードリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサードリンク