今回はPythonを使った計算に関するものです。
Pythonでは他のプログラミング言語と同じように、計算、比較、および論理演算が豊富にサポートされています。
これらの概念を理解し利用することは、プログラミングにおいて基本的なスキルです。
本記事では、Pythonでの計算と比較に焦点を当て、特に論理和と論理積、そしてそれらを実現するためのor
とand
演算子について掘り下げていきます。
これらの基本的な概念を理解することは、Pythonにおける複雑な条件や制御フローの構築において不可欠です。
また動画もあるので必要に応じて活用してください。
Pythonで計算、不等号を使った比較をする方法
Pythonでは「+」「ー」「*」「/」を使って四則演算をするようになっています。
print(100 / 100) #足し算
print(100 - 100) #引き算
print(100 * 100) #掛け算
print(100 / 100) #割り算
また「>」「=>」「<」「=<」のような不等号を使った値の比較もできます。
単純に左辺と右辺を比べて等しいかどうかの場合は「==」で等しくない場合は「!=」を使います。
print(100 < 100) #100より100は大きいか
print(100 <= 100) #100は100以上か
print(100 == 100) #100と100は等しいか
print(100 != 100) #100と100は違うものか
不等号に対する返り値はTrue, Falseの真偽値になります。
また二つの条件を比較したいときは以下のような数学で使う書き方をすればOKです。
不等号を使用することで「かつ」「または」のような論理積、論理和の検証も可能です。
# 論理積(かつ)
a = 100
b = 200
print(a > 0 and b > 0) #True
print(a > 0 and b > 300) #False
# 論理和(または)
print( a > 0 or b > 300) #True
「AかつB」というAとBの両方の条件を満たす判定はandで行い、「AまたはB」という片方のみの条件を満たす判定はorを使用します。
他のプログラミング言語では「&&」「||」で表現されるものと同じです。
Pythonで数学の計算をする方法
一方で数学で登場するような少し高度な計算もPythonを使うと簡単に行うことができます。
まずmathモジュールを使うことで対数と三角関数が使用できます。
import math
# 対数
print(math.log(100,10)) # 100は10の何乗か
# 三角関数
print(math.sin(math.pi)) #sin
print(math.cos(math.pi)) #cos
print(math.tan(math.pi)) #tan
他のモジュールでrandomというものがあり、こちらでは乱数を自動で生成することが可能です。
import random
# 小数の乱数
print(random.random()) # 0.8958906282297519
# 1から2の間で小数の乱数
print(random.uniform(1, 2)) # 1.522720970977468
# 1から10の間で整数の乱数
print(random.randint(1, 10)) # 6
# 乱数のリスト(forの引数がないときは「_」で書くルール)
arr = [random.randint(1,10) for _ in range(10)]
print(arr) # [3, 7, 10, 1, 5, 3, 7, 4, 10, 4]
モジュールを使わなくても使用できるものに絶対値、最大値、最小値、合計値があります。
# 絶対値
b = 100
c = -100
print(abs(b), abs(c)) # 100, 100
# 最大値
numbers = [1,2,3,4,5]
print(max(numbers)) # 5
# 最小値
print(min(numbers)) # 1
# 合計値
print(sum(numbers)) # 15
前章で四則演算をやりましたが少し複雑な計算も記号を使った表現で計算できます。
# N乗
print(2 ** 2) # 4
# 商
print(5 // 3) # 1
# 剰余
print(5 % 3) # 2
# 商と剰余をタプル型にする
print(divmod(5,3)) # (1, 2)
Pythonでは統計や分析、数学のような専門的な計算をする機会が増えますので、これらの数学の計算の書き方は一通り練習しておくようにしましょう。