Kahibaro
Discord Login Register

عملیات حسابی

آشنایی با عملیات حسابی در پایتون

در این بخش با مهم‌ترین عملگرهای حسابی در پایتون و نحوهٔ استفادهٔ آن‌ها آشنا می‌شویم. فرض می‌کنیم مفهوم «عدد» و انواع int و float را از فصل قبل می‌شناسید و اینجا فقط روی خودِ عملیات تمرکز می‌کنیم.

عملگرهای اصلی حسابی

پایتون برای چهار عمل اصلی و چند عمل مهم دیگر، عملگرهای مشخصی دارد:

نمونه:

print(3 + 2)      # جمع
print(5 - 1)      # تفریق
print(4 * 6)      # ضرب
print(8 / 2)      # تقسیم معمولی (نتیجه float است)
print(8 // 3)     # تقسیم صحیح
print(8 % 3)      # باقیمانده
print(2 ** 3)     # توان (۲ به توان ۳)

خروجی:

5
4
24
4.0
2
2
8

به تفاوت / و // دقت کنید؛ / همیشه عدد اعشاری (float) برمی‌گرداند، حتی وقتی جواب ظاهراً عدد صحیح باشد.

اولویت عملگرها (ترتیب انجام محاسبات)

در عبارات طولانی، پایتون مثل ریاضیات از یک ترتیب مشخص برای محاسبه استفاده می‌کند. به طور خلاصه:

  1. پرانتزها: ()
  2. توان: **
  3. ضرب و تقسیم و تقسیم صحیح و باقیمانده: *، /، //، %
  4. جمع و تفریق: +، -

مثال:

result1 = 2 + 3 * 4
result2 = (2 + 3) * 4
print(result1)
print(result2)

خروجی:

14
20

در result1 اول 3 * 4 حساب می‌شود (۱۲)، بعد با ۲ جمع می‌شود (۱۴).
در result2 به خاطر پرانتز، اول 2 + 3 حساب می‌شود (۵)، بعد در ۴ ضرب می‌شود (۲۰).

برای خواناتر شدن و جلوگیری از اشتباه، بهتر است برای عبارات پیچیده از پرانتز استفاده کنید، حتی وقتی از نظر اولویت لازم نباشد.

عملگرهای مثبت و منفی یک‌تایی (Unary)

علاوه بر استفادهٔ معمول + و - بین دو عدد، می‌توان آن‌ها را قبل از یک عدد هم استفاده کرد:

x = 5
print(+x)   # 5
print(-x)   # -5

این کار به‌خصوص وقتی با متغیرها کار می‌کنید مفید است، مثلاً برای منفی کردن یک مقدار خوانده‌شده از ورودی.

ترکیب عملیات با متغیرها

در بسیاری از برنامه‌ها لازم است روی متغیرها عملیات حسابی انجام دهید و نتیجه را در همان متغیر یا متغیر دیگری ذخیره کنید.

x = 10
y = 3
sum_result = x + y
diff_result = x - y
mul_result = x * y
div_result = x / y
print(sum_result)
print(diff_result)
print(mul_result)
print(div_result)

این الگو در همه‌جا تکرار می‌شود:
«یک عبارت حسابی بساز، و نتیجه را در یک متغیر ذخیره کن.»

عملگرهای انتساب ترکیبی (مثل +=)

گاهی می‌خواهید مقدار یک متغیر را بر اساس مقدار خودش به‌روزرسانی کنید، مثلاً:

x = 10
x = x + 1

چون این الگو بسیار رایج است، پایتون شکل کوتاه‌تری برای آن دارد:

نمونه:

x = 10
x += 5    # x = x + 5 → x حالا 15 است
x *= 2    # x = x * 2 → x حالا 30 است
print(x)

این شکل نوشتن در حلقه‌ها و برنامه‌های بلند بسیار استفاده می‌شود.

تقسیم صحیح و باقیمانده (کاربردی)

دو عملگر // و % برای کار با تقسیم بسیار مفیدند:

برای عدد صحیح $a$ و $b$ (با $b \neq 0$)، رابطهٔ زیر برقرار است:

$$
a = (a // b) \times b + (a \% b)
$$

مثال:

a = 17
b = 5
print(a // b)  # 3
print(a % b)   # 2

این عملگرها برای کارهایی مثل:

بسیار استفاده می‌شوند.

رفتار تقسیم و باقیمانده با اعداد منفی (مختصر)

برای شروع، معمولاً با اعداد مثبت کار می‌کنید، ولی خوب است الگوی کلی را بدانید.
پایتون همیشه // را «گرد کردن به پایین» (به سمت منفی بی‌نهایت) در نظر می‌گیرد و a % b را طوری حساب می‌کند که رابطهٔ بالا برقرار بماند.

مثال:

print(-7 // 3)   # -3
print(-7 % 3)    # 2  (چون -7 = -3*3 + 2)

در مراحل ابتدایی کافی است بدانید برای اعداد مثبت، // همان «قسمتِ صحیح» است و % «باقیماندهٔ معمولی».

تبدیل خودکار بین int و float در عملیات حسابی

وقتی در یک عبارت، هم int و هم float وجود داشته باشد، معمولاً نتیجه float می‌شود تا دقت اعشاری حفظ شود:

x = 3      # int
y = 2.0    # float
print(x + y)     # 5.0 (float)
print(x * y)     # 6.0 (float)

همچنین x / y همیشه float برمی‌گرداند، حتی اگر هر دو int باشند.
اگر به نتیجهٔ «کاملاً صحیح» نیاز دارید، از // استفاده کنید.

استفاده از پرانتز برای خوانایی بهتر

حتی وقتی از نظر اولویت عملگرها نیازی به پرانتز نیست، استفاده از پرانتز می‌تواند کد را خواناتر کند:

# سخت‌خوان‌تر
result = a + b / c - d * e
# خواناتر
result = a + (b / c) - (d * e)

برای خودتان و دیگران، نوشتن عبارت‌های پیچیده با پرانتز شفاف‌تر است و احتمال خطا را کم می‌کند.

چند تمرین پیشنهادی

برای تمرین (پیاده‌سازی در فصل‌های بعد انجام می‌شود)، می‌توانید سعی کنید:

  1. مساحت یک مستطیل را با داشتن طول و عرض حساب کنید:
    $$\text{مساحت} = \text{طول} \times \text{عرض}$$
  2. میانگین سه عدد را حساب کنید:
    $$\text{میانگین} = \dfrac{a + b + c}{3}$$
  3. با استفاده از // و %، رقمِ یکان و دهگان یک عدد سه‌رقمی را جدا کنید.
  4. یک عدد را طوری تغییر دهید که هر بار ۱۰٪ به آن اضافه شود (x *= 1.1).

در این فصل با خودِ عملگرهای حسابی آشنا شدیم. در بخش‌های بعدی خواهیم دید چطور این عملیات در کنار رشته‌ها، ورودی کاربر و ساختارهای کنترلی، یک برنامهٔ کامل را تشکیل می‌دهند.

Views: 7

Comments

Please login to add a comment.

Don't have an account? Register now!