عملیات ضرب در پایتون

در دنیای ریاضی، ضرب به عملیاتی گفته میشود که در آن یک عدد چندین بار با خودش جمع میشود. نتیجه ای که از عملیات ضرب بدست می آید، حاصلضرب یا product نامیده میشود. معمولا برای نمایش عملیات ضرب از علامت X
و در دنیای برنامه نویسی از علامت *
استفاده میشود. عملیات ضرب عضوی از چهار عملیات اصلی در ریاضی به همراه جمع، تفریق و تقسیم است. به عنوان مثال به تصویر زیر دقت کنید:
همانطور که میبینید عمل ضرب 3
در 4
به این معنی است که عدد 3
را 4
بار در خودش جمع کنیم. و یا برعکس، عدد 4
را 3
بار در خودش جمع کنیم. حالا که با عملیات ضرب آشنا شدید، نحوه انجام عملیات ضرب در پایتون را میبینیم.
دوره پیشنهادی: دوره آموزش ریاضیات پیشنیاز هوش مصنوعی
ضرب در پایتون با عملگر *
ساده ترین روش برای ضرب دو یا چند عدد در پایتون استفاده از علامت *
است. از این روش میتوانید هم برای ضرب اعداد اعشاری و هم برای اعداد صحیح استفاده کنید. به کد زیر دقت کنید:
>>> 2 * 3
6
>>> 4.8 * 5.1
24.479999999999997
پایتون عملیات ضرب اعشاری را تا بالاترین دقت برای ما انجام میدهد.
انجام ضرب در پایتون بدون عملگر ضرب *
اگر نمیخواهید که برای ضرب از علامت *
استفاده کنید، میتوانید یک فانکشن بنویسید که به تعداد عدد دوم حلقه زده و عدد اول را در خودش جمع میکند. به کد زیر دقت کنید:
def multWithout(num1, num2):
result = 0
for x in range(num2):
result +=num1
return result
print(multWithout(2,10)) # Output: 20
در کد بالا، بدون علامت *
ضرب در پایتون را انجام دادیم.
مقاله پیشنهادی: ترتیب عملگرها در پایتون
ضرب در پایتون با تابع imul
پایتون از یک عملگر دیگر برای انجام ضرب پشتیانی میکند. علامت =*
برای ضرب درجا یک متغیر استفاده میشود. متغیر به تعداد عدد مشخص شده ضرب میشود و مقدار جدید دوباره در متغیر ذخیره میشود. به کد زیر دقت کنید:
>>> x = 2
>>> x *= 4
>>> x
8
عملگر =*
برای انجام عملیات ضرب، تابع imul را فراخوانی میکند. شما میتوانید متد imul را در کلاس های خودتان ایجاد کنید تا آبجکت از عملگر =*
پشتیبانی کند. به کد زیر دقت کنید:
class CustomArray:
def __init__(self):
self.array = []
def append(self, value):
self.array.append(value)
def __imul__(self, scaler):
self.array = [n*scaler for n in self.array]
return self
در کد بالا یک کلاس برای ساخت آرایه ایجاد کردیم که از عملیات ضرب نیز پشتیبانی میکند.
مقاله پیشنهادی: آموزش ماتریس در پایتون
ضرب ماتریس در پایتون
ماتریس یک آرایه دو بعدی است که اعداد در ستون و ردیف های مختلف ذخیره میشوند. برای ضرب آرایه و ماتریس در پایتون بهتر است که از کتابخانه Numpy استفاده کنید. تابع multiply در پکیج numpy میتواند ضرب عنصر به عنصر را برای ماتریس ها انجام دهد. به کد زیر دقت کنید:
>>> import numpy as np
>>> array = np.array([1, 2, 3, 4])
>>> np.multiply(array, 2)
در کد زیر یک عدد ثابت را با یک آرایه ضرب کردیم که در خروجی نتیجه [2, 4, 6, 8]
به دست می آید. اگر آرایه ای که دارید، چند بعدی باشد، باز هم میتوانید از multiply برای ضرب آنها استفاده کنید:
import numpy as np
>>> matrix = np.array([[1, 2], [3, 4]])
>>> np.multiply(matrix, 3)
خروجی کد بالا یک آرایه دو بعدی خواهد بود که اعضای آن در عدد 3
ضرب شده اند. در آخر میتوانید دو ماتریس را با هم ضرب کنید:
>>> array1 = np.array([1, 2, 3])
>>> array2 = np.array([4, 5, 6])
>>> np.multiply(array1, array2)
ماتریس هایی که باهم ضرب میکنید میتوانند یک اندازه یا در اندازه های مختلف باشند و اجباری نیست که هر دو آرایه ابعاد یکسانی داشته باشند.
ویدیو پیشنهادی: رشته(string) در پایتون
ضرب string در پایتون
در پایتون میتوانید رشته ها را نیز با اعداد ضرب کنید. در صورت ضرب کردن یک رشته با عدد، رشته مورد نظر به تعداد عدد مشخص شده تکرار میشود. به کد زیر دقت کنید:
>>> name = "amir"
>>> name * 3
amiramiramir
در کد بالا، بعد از ضرب کردن "amir" با عدد 3
خروجی به شکل تکرار سه باره رشته است.
ویدیو پیشنهادی: آموزش لیست در پایتون
ضرب لیست در پایتون
به شکل عجیبی میتوانید لیست های پایتون را نیز با یک عدد ضرب کنید. دقیقا مشابه مثال بالا، اگر یک لیست را با یک عدد در پایتون ضرب کنید، مقادیر لیست تکرار میشوند. به کد زیر دقت کنید:
>>> a = [1, 2, 3]
>>> a * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
میبینید که لیست a سه بار تکرار شده است. اما اگر میخواهید که اعداد داخل یک لیست در یکدیگر ضرب شوند، میتوانید از تابع prod کتابخانه math استفاده کنید. به کد زیر دقت کنید:
>>> import math
>>> arr = [1, 2, 3, 4, 5]
>>> math.prod(arr)
120
تابع prod تمام آیتم های داخل لیست را باهم ضرب کرد.
ساخت جدول ضرب با پایتون
اگر قصد ساخت جدول ضرب با پایتون را دارید، به راحتی میتوانید از حلقه for استفاده کنید. به کد زیر دقت کنید:
num = 10
for i in range(1, 11):
print(num, 'x', i, '=', num*i)
در کد بالا، یک متغیر به نام num مشخص کرده ایم که عددی است که میخواهیم تمام ضرایب آن را پیدا کنیم. در مرحله بعد، با استفاده از حلقه for تا عدد 10 میشماریم و هر بار آن را در num ضرب میکنیم. نتیجه این کد، تمام ضرایب عدد num خواهد بود:
10 x 1 = 10
10 x 2 = 20
10 x 3 = 30
10 x 4 = 40
10 x 5 = 50
10 x 6 = 60
10 x 7 = 70
10 x 8 = 80
10 x 9 = 90
10 x 10 = 100
حالا برای ساخت یک جدول ضرب ده در ده کامل در پایتون، میتوانید همین کار را با دو حلقه for انجام دهید. به کد زیر دقت کنید:
for x in range(1, 11):
for y in range(1, 11):
z = x * y
print(z, end="\t")
print()
کد بالا یک جدول ضرب کامل 10 در 10 را توسط پایتون برای شما ایجاد میکند. در حلقه اول عددهای 1 تا 10 را در متغیر x ذخیره کرده و در حلقه دوم دوباره عددهای 1 تا 10 را در متغیر y ذخیره میکنیم. سپس این اعداد را در هر مرحله با هم ضرب میکنیم. نتیجه کد بالا به شکل زیر خواهد بود:
شما موفق شدید یک جدول ضرب کامل را با حلقه های for پایتون ایجاد کنید.