
プログラミング学習から転職成功まで導く、当社人気のWebCamp Proコースの5月受入枠も残りわずかとなりました。
・プログラミング未経験でもエンジニア転職を絶対成功させたい
・スキルを身に着けて人生を自ら切り開きたい
上記にあてはまる方は、ぜひご検討ください!
今回、当社(Web Camp)では、2日間でPythonの基本から機械学習の基礎まで学ぶ短期集中型のコースを開講します。
・Pythonの基本的なプログラミング能力を身につけたい方
・機械学習や人工知能に興味はあるがなかなか手を出せない方
上記にあてはまる方は、ぜひご参加ください!
はじめに
Pythonは初心者でもとても扱いやすい言語です。
短いコードで直感的に書くことが出来るので、読みやすいプログラムを比較的書くことが可能です。
そのため、数値計算においてもとてもわかりやすく簡潔に書くことが出来ます。
今回はそういった数値計算についてご紹介します。
今回紹介するプログラムの実行方法
pythonがインストールされ、PATHが通っていることが条件となります。
Windowsならコマンドプロンプトから、
<blockquote> python [ファイル名].py </blockquote>
とすると実行できます。ファイル名は任意で、今回紹介するプログラムを適時張り付けてご確認ください。
四則演算
まずは、基本中の基本として四則演算です。
他の言語を学習した方はもちろんですし、言語が初めてという方でもすぐに理解可能かと思います。
演算子「+」:加算を行うためのものです。
演算子「-」:減算を行うためのものです。
演算子「*」:乗算を行うためのものです。
演算子「/」:除算を行うためのものです。
ここまでは、数学で慣れ親しんでいますが、その他には以下のようなものがあります。
演算子「%」 :剰余、つまり余りを求めます。
演算子「//」:除算を行うのですが、計算結果の小数点以下は切り捨てられ整数となります。
演算子「**」:べき乗、つまり累乗計算した値を求めます。
さまざまな計算
四則演算を基本として、数学でもおなじみの計算等紹介します。
絶対値
絶対値を求める場合はabs関数を使用します。
以下のプログラムは「20」と表示されます。
#coding: UTF-8 a = -20 a = abs(a) print(a)
べき乗
先述した通り、べき乗は「**」で求められますが、pow関数でも求められます。
以下のプログラムでは、5の2乗を求めていますので、どちらの結果も「25」となります。
#coding: UTF-8 x = 5 y = pow(x,2) print(y) print(5**2)
平方根
平方根(ルート)を求める場合には、math.sqrtを使用します。
以下のプログラムは「2.23606797749979」と表示されます。
ちなみに、mathライブラリは標準では使用できないので、「import math」の部分を書くことでプログラムで使用できるようにしています。
#coding: UTF-8 import math x = 5 y = math.sqrt(x) print(y)
指数関数
指数関数を求めるには、exp関数を使用します。
以下のプログラムは「148.4131591025766」と表示されます。
#coding: UTF-8 import math x = 5 y = math.exp(x) print(y)
対数関数(底が10の場合)
対数関数(底が10の場合)を求めるには、math.log10関数を使用します。
以下のプログラムは「2.0」と表示されます。
#coding: UTF-8 import math x = 100 y = math.log10(x) print(y)
対数関数(底が自然対数の場合)
対数関数(底が10の場合自然対数の場合)を求めるには、math.log関数を使用します。
以下のプログラムは「2.302585092994046」と表示されます。
#coding: UTF-8 import math x = 10 y = math.log(x) print(y)
ラジアンを度に変換
ラジアンを度に変換するには、math.degrees関数を使用します。
以下のプログラムは「572.9577951308232」と表示されます。
#coding: UTF-8 import math x = 10 y = math.degrees(x) print(y)
度をラジアンに変換
上記とは逆に、度をラジアンに変換するには、math.radians関数を使用します。
以下のプログラムは「3.141592653589793」と表示されます。
#coding: UTF-8 import math x = 180 y = math.radians(x) print(y)
三角関数
三角関数の、正弦、余弦、正接は、それぞれmath.sin、math.cos、math.tan関数を使用します。
これは数学と同じなのでわかりやすいです。
ただし、ラジアンから求めるので、度の情報である場合は、上記のmath.radians関数も併せて使用します。
以下のプログラムは、上から
「1.0」
「6.123233995736766e-17」
「1.633123935319537e+16」
と表示されます。
#coding: UTF-8 import math x = 45 r = math.radians(x) y = math.sin(r) w = math.cos(r) z = math.tan(r) print(y) print(w) print(z)
また、逆正弦、逆余弦、逆正接は、それぞれmath.asin、math.acos、math.atan関数を使用します。
以下のプログラムは、上から
「1.5707963267948966」
「0.0」
「0.7853981633974483」
「90.0」
「0.0」
「45.0」
と表示されます。
#coding: UTF-8 import math x = 1 y = math.asin(x) w = math.acos(x) z = math.atan(x) print(y) print(w) print(z) y1 = math.degrees(y) w1 = math.degrees(w) z1 = math.degrees(z) print(y1) print(w1) print(z1)
最大値
ある配列やリストといったデータ集合の中から最大値を求めるためには、max関数を使用します。
以下のプログラムは「83」と表示されます。
#coding: UTF-8 data = [11,22,83,44,75] # データ配列 d = max(data) print(d)
最小値
ある配列やリストといったデータ集合の中から最小値を求めるためには、min関数を使用します。
以下のプログラムは「11」と表示されます。
#coding: UTF-8 data = [11,22,83,44,75] # データ配列 d = min(data) print(d)
合計
ある配列やリストといったデータ集合の合計を求めるためには、sum関数を使用します。
以下のプログラムは「235」と表示されます。
#coding: UTF-8 data = [11,22,83,44,75] # データ配列 d = sum(data) print(d)
平均
ある配列やリストといったデータ集合の平均を求めるためには、合計を求める上記のsum関数に加え、配列のデータ数を求めるlen関数を使用します。
以下のプログラムは「47.0」と表示されます。
#coding: UTF-8 data = [11,22,83,44,75] # データ配列 d = sum(data)/len(data) # 平均は合計/データ数 print(d)
乱数
乱数を求めたい場合には、random.random関数を使用します。
mathと同じくrandomライブラリが必要になるため、「import random」と書くことでプログラムで使用できるようにしています。
以下のプログラムは任意の乱数が表示されます。
#coding: UTF-8 import random n = random.random() print(n)
ただし、上記の関数ですと、出力される範囲は0.0~1.0の間の実数となります。
整数で範囲を決めて出力したい場合は、random.randint(x,y)関数を使用します。
xからyまでの範囲の整数からランダムに数値が出力されます。
#coding: UTF-8 import random n = random.randint(1,20) print(n)
実数で範囲を決めて出力したい場合は、random.uniform(x,y)関数を使用します。
xからyまでの範囲の実数からランダムに数値が出力されます。
#coding: UTF-8 import random n = random.uniform(1,20) print(n)
さいごに
いかがでしょうか。さまざまな計算がごく簡単な命令で実行できることがわかっていただけたかと思います。
今後プログラムを作成するにあたって数値を扱うことは多々あると思いますので、その時にこの内容を把握しているととてもスムーズかと思います。
ぜひご自分で動作させてみてください。
WebCamp・WebCamp Proについて
WebCampは1ヶ月でプログラミング・Webデザインスキルを学ぶ通い放題のプログラミングスクールです。WebCamp Proは3ヶ月間で未経験から即戦力エンジニアを育成するプログラミングスクールです。
2つのサービスを運営するインフラトップでは、「学びと仕事を通して人生を最高の物語にする」という理念で会社を経営しています。
キャリアアップを目指す方は、この機会に私達と一緒にプログラミングを学んでみませんか?
今回、当社(Web Camp)では、2日間でPythonの基本から機械学習の基礎まで学ぶ短期集中型のコースを開講します。
・Pythonの基本的なプログラミング能力を身につけたい方
・機械学習や人工知能に興味はあるがなかなか手を出せない方
上記にあてはまる方は、ぜひご参加ください!
プログラミング学習から転職成功まで導く、当社人気のWebCamp Proコースの5月受入枠も残りわずかとなりました。
・プログラミング未経験でもエンジニア転職を絶対成功させたい
・スキルを身に着けて人生を自ら切り開きたい
上記にあてはまる方は、ぜひご検討ください!
▼未経験から1ヶ月でWebデザイン・プログラミングを学びたい方はこちら!