در این قسمت تیم کدگیت را با آموزش ماژول math در پایتون همراهی کنید. ماژول math برای انجام محاسبات ریاضی می باشد. این ماژول برخی از عملیاتهای ریاضی را در خود قرار داده تا پیاده سازی پروژههای علمی، مالی و … سادهتر شود. پیشنهاد میکنم در صورت تمایل پیشنیازهای زیر را نیز مطالعه نمایید:
- ماژول Random در پایتون
- تبدیل نوع داده در پایتون
- تابع در پایتون
- دیکشنری در پایتون
- حلقه while در پایتون
- حلقه for در پایتون
- دستور if در پایتون
- لیست در پایتون
ماژول math در پایتون
گاهی ممکن است پروژهای علمی به شما سپرده شود و نیاز به انجام محاسبات ریاضی داشته باشید. در این زمان ماژول math به کمک شما خواهد آمد. این ماژول علاوه بر در اختیار قرار دادن برخی مقادیر مانند عدد Pi، عدد اویلر، بینهایت و … ،توابع ریاضی مانند توان، لگاریتم، ریشه دوم عدد، سینوس، کسینوس و … را براحتی قابل محاسبه کرده است تنها با صدا زدن تابع! این انعطاف پذیری در کدنویسی، توسط این ماژول در اختیار شما قرار می گیرد. در این مقاله برخی از پراستفادهترین توابع و constantهای این ماژول را معرفی میکنیم.
Constantها و معرفی آنها
در ریاضیات اعداد ثابتی وجود دارد که در فرمولهای مختلفی از آنها استفاده میشود. یکی از این اعداد ثابت، عدد پی یا Pi است که در سادهترین فرمول ریاضی یعنی محاسبه مساحت و شعاع دایره از آن استفاده میشود. ماژول math اینگونه مقادیر را از پیش تعریف کرده و ما میتوانیم از آنها استفاده کنیم:
- Pi: عدد پی می باشد که مقدار آن 3.141592653589793 میباشد.
- عدد اویلر (e): عدد اویلر مقداری برابر با 2.718281828459045 دارد.
- بینهایت: در ماژول Math شما میتوانید مقدار بینهایت را تعریف کنید.
- Nan: مقدار Nan یا not a number یک عدد تعریف شده نیست. به عنوان مثال تقسیم عدد صفر بر صفر تعریف نشده است و در خروجی Nan بازگردانی میشود.
مثال constant
برای استفاده از ماژول math میبایست آن را import کرد. بعد از فراخوانی میتوان از آن استفاده نمود. در مثال زیر مقدار ثابت عدد اویلر را چاپ کردهایم:
import math
print (math.e)
برای نمایش عدد Pi دستور زیر را مینویسیم:
print (math.pi)
عدد مثبت بینهایت به صورت زیر تعریف میشود:
print (math.inf)
اگر عدد منفی بینهایت را بخواهیم کد زیر را مینویسیم:
print (-math.inf)
برای تعریف Nan نیز از روش زیر استفاده میکنیم:
print (math.nan)
به عنوان یک مثال میخواهیم مساحت دایره را با کمک ماژول math در پایتون پیاده سازی کنیم:
import math
r = 4
pie = math.pi
print(pie * r * r)
متغیر r شعاع دایره است و متغیر pie عدد پی می باشد. مساحت دایره برایر است با شعاع دایره به توان دو ضربدر عدد پی. در بالا درون دستور پرینت محاسبه مساحت را انجام دادیم.
توابع عددی
برخی توابع عددی ماژول math به شرح زیر میباشد:
- ()Floor: عدد ورودی را گرد میکند. البته این تابع عدد را رو به پایین گرد میکند یعنی به نزدیکترین عدد صحیح کوچکتر گرد خواهد شد.
- ()Ceil: این تابع برعکس floor است یعنی به بالا عدد را گرد میکند (نزدیکترین عدد صحیح بزرگتر).
- ()Factorial: برای محاسبه فاکتوریل یک عدد از تابع factorial استفاده میگردد.
- ()GCD: بزرگترین مخرج مشترک دو عدد توسط GCD بدست خواهد آمد
- ()Exp: حاصل عدد e به توان x را محاسبه می کند. e عدد نپر است و x در ورودی دریافت میشود.
- ()Pow:مقدار x به توان y توسط pow محاسبه میشود. X و y در ورودی دریافت میشوند.
- ()Log: اگر نیاز به محاسبه لگاریتم دارید میتوانید از این تابع استفاده کنید.
- ()Sqrt: ریشه دوم یا جذر عدد ورودی را محاسبه میکند.
حال نوبت به پیاده سازی مثالهایی از توابع بالا رسیده است. مثالهای توابع floor و ceil به صورت زیر است:
import math
a = 2.3
print ("The ceil of 2.3 is : ", end="")
print (math.ceil(a))
print ("The floor of 2.3 is : ", end="")
print (math.floor(a))
متغیر a برابر با 2.3 می باشد که floor و ceil را بر روی این تابع صدا زدیم. خروجی به صورت زیر می باشد:
The ceil of 2.3 is : 3
The floor of 2.3 is : 2
هر دو تابع a را گرد کردند اما یکی به عدد صحیح بالا و دیگری به عدد صحیح پایین. مثال بعد در خصوص تابع factorial می باشد:
import math
a = 5
print("The factorial of 5 is : ", end="")
print(math.factorial(a))
عدد a برابر با 5 است و در ادامه فاکتوریل این عدد را محاسبه کردیم. خروجی برنامه به صورت زیر است:
The factorial of 5 is : 120
مثال توابع gcd، exp، pow، log و sqrt در قسمت زیر آوردهایم:
import math
a = 15
b = 5
print ("The gcd of 5 and 15 is : ", end="")
print (math.gcd(b, a))
a = 4
b = -3
c = 0.00
print("EXP Examples:")
print (math.exp(a))
print (math.exp(b))
print (math.exp(c))
print ("The value of 5**3 is : ",end="")
print (pow(5,3))
print ("The value of log 2 with base 3 is : ", end="")
print (math.log(2,3))
print("SQRT Examples")
print(math.sqrt(0))
print(math.sqrt(4))
print(math.sqrt(3.5))
ابتدا gcd را بر روی دو عدد 5 و 15 صدا و حاصل را چاپ کردیم. در ادامه Exp را برای سه عدد مختلف یعنی عدد مثبت، عدد منفی و صفر تست نمودیم. حاصل 5 به توان 3 و لگاریتم 2 در مبنای 3 را نیز محاسبه کردیم. در پایان جذر اعداد 0 و 4 و 3.5 را محاسبه و چاپ نمودیم. خروجی کد بالا به صورت زیر میباشد:
The gcd of 5 and 15 is : 5
EXP Examples:
54.598150033144236
0.049787068367863944
1.0
The value of 5**3 is : 125
The value of log 2 with base 3 is : 0.6309297535714574
SQRT Examples
0.0
2.0
1.8708286933869707
توابع مثلثاتی ماژول math در پایتون
علاوه بر توابع قسمت قبل، میتوانیم با ماژول Math در پایتون از توابع مثلثاتی نیز استفاده کنیم. توابع مهم این بخش شامل موارد زیر می باشد:
- ()Sin: ورودی این تابع بر اساس گرادیان است و برای محاسبه سینوس استفاده می شود
- ()Cos: اگر می خواهید کسینوس عددی را محاسبه کنید این تابع به شما کمک خواهد کرد. ورودی این تابع نیز به رادیان است.
- ()Tan: جهت محاسبه تانژات بوده و ورودی آن به رادیان می باشد.
- ()Radians: تبدیل زاویه ورودی به رادیان
- ()Degrees: تبدیل عدد ورودی به درجه
برای اینکه توابع بالا را پیاده سازی کنیم متغیری به نام a تعریف میکنیم و مقدار آن را 30 درجه قرار میدهیم. کد به صورت زیر میباشد:
import math
a = math.pi/6
print ("The value of sine of pi/6 is : ", end="")
print (math.sin(a))
print ("The value of cosine of pi/6 is : ", end="")
print (math.cos(a))
print ("The value of tangent of pi/6 is : ", end="")
print (math.tan(a))
خروجی کد بالا به ترتیب سینوس، کسینوس و تانژانت 30 درجه میباشد:
The value of sine of pi/6 is : 0.49999999999999994
The value of cosine of pi/6 is : 0.8660254037844387
The value of tangent of pi/6 is : 0.5773502691896257
برای تبدیل رادیان به درجه و برعکس از روش زیر میتوان استفاده کرد:
import math
a = math.pi/6
b = 30
print ("The converted value from radians to degrees is : ", end="")
print (math.degrees(a))
print ("The converted value from degrees to radians is : ", end="")
print (math.radians(b))
متغیرهای a و b به ترتیب به رادیان و درجه هستند. این دو را به توابع radians و degree دادیم تا بتوانیم تبدیلات را انجام دهیم. خروجی کد بالا به صورا زیر میباشد:
The converted value from radians to degrees is : 29.999999999999996
The converted value from degrees to radians is : 0.5235987755982988