آموزش پایتون, پایتون مقدماتی

عملگرهای ریاضی و مقایسه‌ای در پایتون؛ آموزش کامل برای مبتدیان

🗓 آخرین به‌روزرسانی:

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

این مطلب، درس هفتم از دوره رایگان آموزش پایتون از صفر است. در درس قبلی یاد گرفتیم اطلاعات را با تابع input() از کاربر دریافت کنیم. اکنون از همان داده‌ها برای محاسبه و مقایسه استفاده می‌کنیم.

عملگر در پایتون چیست؟

عملگر یا operator نمادی است که به پایتون می‌گوید روی یک یا چند مقدار چه عملی انجام دهد. در عبارت زیر، علامت + یک عملگر و عددهای ۵ و ۳ عملوند هستند:

result = 5 + 3
print(result)

خروجی:

8

در این درس دو گروه اصلی را بررسی می‌کنیم:

  • عملگرهای ریاضی برای انجام محاسبات
  • عملگرهای مقایسه‌ای برای تولید نتیجه True یا False

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

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

عملگرکاربردمثالنتیجه
+جمع8 + 210
-تفریق8 - 26
*ضرب8 * 216
/تقسیم معمولی8 / 24.0
//تقسیم صحیح9 // 24
%باقی‌مانده تقسیم9 % 21
**توان2 ** 38

جمع با عملگر +

عملگر + دو مقدار عددی را با هم جمع می‌کند:

first_number = 12
second_number = 7
result = first_number + second_number

print(result)

خروجی:

19

می‌توان مقدارها را از کاربر دریافت کرد:

first_number = float(input("عدد اول: "))
second_number = float(input("عدد دوم: "))

print("حاصل جمع:", first_number + second_number)

جمع رشته‌های متنی

عملگر + برای رشته‌ها به‌معنای چسباندن متن‌هاست:

first_name = "علی"
last_name = "رضایی"
full_name = first_name + " " + last_name

print(full_name)

خروجی:

علی رضایی

بنابراین نتیجه 10 + 5 برابر ۱۵ است، اما نتیجه "10" + "5" رشته "105" خواهد بود.

تفریق با عملگر –

عملگر - مقدار سمت راست را از مقدار سمت چپ کم می‌کند:

wallet_balance = 500000
purchase_price = 175000
remaining_balance = wallet_balance - purchase_price

print(remaining_balance)

خروجی:

325000

همین علامت برای نمایش عدد منفی نیز استفاده می‌شود:

temperature = -5
print(temperature)

ضرب با عملگر *

عملگر * دو عدد را در هم ضرب می‌کند:

price = 125000
quantity = 3
total_price = price * quantity

print(total_price)

خروجی:

375000

تکرار رشته با ضرب

ضرب یک رشته در عدد صحیح باعث تکرار متن می‌شود:

print("Python " * 3)

خروجی:

Python Python Python

تقسیم معمولی با /

عملگر / تقسیم معمولی را انجام می‌دهد و نتیجه آن معمولاً از نوع float است:

result = 10 / 2

print(result)
print(type(result))

خروجی:

5.0
<class 'float'>

حتی اگر نتیجه دقیقاً عدد صحیح باشد، تقسیم با / یک مقدار اعشاری برمی‌گرداند.

تقسیم صحیح با //

عملگر // خارج‌قسمت را به سمت پایین گرد می‌کند:

print(9 // 2)

خروجی:

4

این عملگر زمانی مفید است که فقط تعداد گروه‌های کامل اهمیت دارد. برای مثال، اگر ۱۷ دانش‌آموز را در گروه‌های چهارنفره قرار دهیم:

students = 17
group_size = 4
complete_groups = students // group_size

print(complete_groups)

چهار گروه کامل تشکیل می‌شود.

باقی‌مانده تقسیم با %

عملگر % باقی‌مانده تقسیم را برمی‌گرداند:

print(17 % 4)

خروجی:

1

تشخیص زوج یا فرد بودن عدد

اگر باقی‌مانده تقسیم یک عدد بر ۲ برابر صفر باشد، عدد زوج است:

number = int(input("یک عدد وارد کنید: "))
is_even = number % 2 == 0

print("آیا عدد زوج است؟", is_even)

در این مثال، ابتدا باقی‌مانده محاسبه و سپس با صفر مقایسه می‌شود.

توان با **

برای محاسبه توان در پایتون از ** استفاده می‌کنیم:

print(2 ** 3)
print(5 ** 2)

خروجی:

8
25

اشتباه رایج: علامت ^ در پایتون عملگر توان نیست. این علامت برای عملیات بیتی XOR استفاده می‌شود. برای توان همیشه از ** استفاده کنید.

عملگرهای انتساب ترکیبی

هنگامی که می‌خواهیم مقدار فعلی یک متغیر را تغییر دهیم، می‌توانیم از شکل کوتاه عملگرهای ریاضی استفاده کنیم:

score = 10
score += 5
print(score)

دستور score += 5 معادل دستور زیر است:

score = score + 5

نمونه‌های دیگر:

balance = 1000
balance -= 200
balance *= 2
balance /= 4

print(balance)

عملگرهای رایج انتساب ترکیبی عبارت‌اند از +=، -=، *=، /=، //=، %= و **=.

ترتیب انجام عملیات ریاضی

پایتون محاسبات را براساس تقدم عملگرها انجام می‌دهد. به‌طور ساده، ترتیب مهم به شکل زیر است:

  1. پرانتزها
  2. توان
  3. ضرب، تقسیم، تقسیم صحیح و باقی‌مانده
  4. جمع و تفریق
result = 2 + 3 * 4
print(result)

خروجی برابر ۱۴ است؛ زیرا ضرب پیش از جمع انجام می‌شود.

result = (2 + 3) * 4
print(result)

در این حالت خروجی برابر ۲۰ است؛ زیرا پرانتز اولویت را تغییر داده است.

برای خوانایی بهتر، حتی در مواردی که نتیجه مشخص است می‌توانید از پرانتز استفاده کنید.

عملگرهای مقایسه‌ای در پایتون

عملگرهای مقایسه‌ای دو مقدار را بررسی می‌کنند و همیشه یکی از دو مقدار بولی True یا False را برمی‌گردانند.

عملگرمعنامثال
==برابر است5 == 5
!=برابر نیست5 != 3
>بزرگ‌تر است8 > 3
<کوچک‌تر است2 < 7
>=بزرگ‌تر یا مساوی است18 >= 18
<=کوچک‌تر یا مساوی است10 <= 12

بررسی برابری با ==

برای بررسی برابر بودن دو مقدار از دو علامت مساوی استفاده می‌کنیم:

password = "python123"
print(password == "python123")

خروجی:

True

تفاوت مهم: عملگر = برای انتساب مقدار است، اما == دو مقدار را مقایسه می‌کند.

age = 25       # انتساب
print(age == 25)  # مقایسه

بررسی نابرابری با !=

عملگر != بررسی می‌کند دو مقدار متفاوت هستند یا خیر:

status = "pending"
print(status != "paid")

خروجی:

True

مقایسه بزرگ‌تر و کوچک‌تر

عملگرهای > و < برای مقایسه اندازه عددها استفاده می‌شوند:

temperature = 32

print(temperature > 30)
print(temperature < 20)

خروجی:

True
False

بزرگ‌تر یا مساوی و کوچک‌تر یا مساوی

عملگرهای >= و <= مقدار مرزی را نیز شامل می‌کنند:

age = 18
is_adult = age >= 18

print(is_adult)

خروجی True است؛ زیرا ۱۸ هم بزرگ‌تر یا مساوی ۱۸ محسوب می‌شود.

مقایسه زنجیره‌ای در پایتون

پایتون اجازه می‌دهد چند مقایسه را به شکل خوانا در یک عبارت بنویسیم:

score = 17
result = 0 <= score <= 20

print(result)

این عبارت بررسی می‌کند امتیاز بین صفر و ۲۰ قرار دارد یا خیر.

مقایسه رشته‌های متنی

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

print("Python" == "Python")
print("Python" == "python")

خروجی:

True
False

برای مقایسه پاسخ کاربر، بهتر است ورودی را یکدست کنیم:

answer = input("آیا ادامه می‌دهید؟ yes/no: ").strip().lower()
print(answer == "yes")

تفاوت نوع داده در مقایسه

عدد ۱۰ و رشته "10" برابر نیستند:

print(10 == "10")

خروجی:

False

پیش از مقایسه، مطمئن شوید داده‌ها نوع سازگار دارند:

user_age = int(input("سن: "))
print(user_age >= 18)

ترکیب محاسبه و مقایسه

می‌توان نتیجه یک محاسبه را مستقیماً مقایسه کرد:

price = 200000
quantity = 3
budget = 500000

total_price = price * quantity
can_buy = total_price <= budget

print("مبلغ سفارش:", total_price)
print("بودجه کافی است؟", can_buy)

خروجی:

مبلغ سفارش: 600000
بودجه کافی است؟ False

خطای تقسیم بر صفر

تقسیم یک عدد بر صفر امکان‌پذیر نیست و باعث خطای ZeroDivisionError می‌شود:

result = 10 / 0

در برنامه‌های واقعی باید پیش از تقسیم، مقدار مخرج بررسی شود:

number = 10
divisor = int(input("مقسوم‌علیه را وارد کنید: "))

if divisor != 0:
    print(number / divisor)
else:
    print("تقسیم بر صفر مجاز نیست.")

ساختار شرطی if موضوع درس بعدی است.

خطای ترکیب متن و عدد

جمع مستقیم یک رشته و عدد باعث TypeError می‌شود:

age = 30
print("سن: " + age)

روش‌های صحیح:

print("سن:", age)
print("سن: " + str(age))
print(f"سن: {age}")

نکته درباره دقت عددهای اعشاری

برخی عددهای اعشاری در رایانه به‌صورت تقریبی ذخیره می‌شوند:

print(0.1 + 0.2 == 0.3)

ممکن است خروجی False باشد. برای مقایسه‌های ساده می‌توان از گردکردن استفاده کرد:

result = round(0.1 + 0.2, 2)
print(result == 0.3)

پروژه عملی: محاسبه مبلغ سفارش و بررسی بودجه

در این پروژه، قیمت و تعداد محصول را دریافت می‌کنیم، مبلغ کل را محاسبه می‌کنیم و بررسی می‌کنیم آیا بودجه کاربر کافی است یا خیر:

product_name = input("نام محصول: ").strip()
price = float(input("قیمت هر واحد: "))
quantity = int(input("تعداد: "))
budget = float(input("بودجه شما: "))

total_price = price * quantity
remaining_money = budget - total_price
can_purchase = budget >= total_price

print("\n--- نتیجه سفارش ---")
print("محصول:", product_name)
print("مبلغ کل:", total_price)
print("بودجه کافی است؟", can_purchase)
print("مانده بودجه:", remaining_money)

در درس شرط‌ها، این پروژه را به‌گونه‌ای توسعه می‌دهیم که براساس کافی یا ناکافی بودن بودجه، پیام متفاوتی نمایش دهد.

تمرین‌های درس

  1. دو عدد از کاربر بگیرید و جمع، تفریق، ضرب و تقسیم آن‌ها را نمایش دهید.
  2. عددی دریافت کنید و با عملگر % بررسی کنید زوج است یا فرد.
  3. طول و عرض مستطیل را دریافت و مساحت و محیط آن را محاسبه کنید.
  4. سن کاربر را دریافت کنید و نتیجه مقایسه age >= 18 را نمایش دهید.
  5. قیمت محصول و درصد تخفیف را دریافت و مبلغ نهایی را محاسبه کنید.
  6. سه نمره دریافت کنید، میانگین را محاسبه و بررسی کنید آیا میانگین حداقل ۱۰ است.

اشتباهات رایج

  • استفاده از = به‌جای == برای مقایسه
  • استفاده از ^ به‌جای ** برای توان
  • فراموش‌کردن تبدیل خروجی input() به عدد
  • تقسیم بر صفر
  • نادیده‌گرفتن تقدم عملگرها
  • مقایسه عدد با رشته متنی
  • انتظار نتیجه دقیق از تمام محاسبات اعشاری

📌 همچنین بخوانید: بازار کار پایتون در ایران، نصب و تنظیم پایتون در VS Code و برنامه‌نویسی پایتون با گوشی

پرسش‌های متداول

تفاوت / و // چیست؟

عملگر / تقسیم معمولی انجام می‌دهد و نتیجه آن معمولاً اعشاری است. عملگر // خارج‌قسمت را به سمت پایین گرد می‌کند.

عملگر % چه کاربردی دارد؟

باقی‌مانده تقسیم را برمی‌گرداند و برای کارهایی مانند تشخیص زوج یا فرد بودن عدد، چرخه‌ها و تقسیم‌بندی کاربرد دارد.

تفاوت = و == چیست؟

= برای انتساب مقدار به متغیر و == برای بررسی برابر بودن دو مقدار است.

نتیجه عملگرهای مقایسه‌ای چیست؟

نتیجه همیشه یکی از دو مقدار بولی True یا False است.

چگونه ترتیب محاسبه را تغییر دهیم؟

عبارت موردنظر را داخل پرانتز قرار دهید. پرانتز بالاترین اولویت را دارد.

جمع‌بندی

در این درس با عملگرهای جمع، تفریق، ضرب، تقسیم، تقسیم صحیح، باقی‌مانده و توان آشنا شدیم. همچنین یاد گرفتیم چگونه با عملگرهای مقایسه‌ای، رابطه میان دو مقدار را بررسی و نتیجه‌ای بولی تولید کنیم. این مفاهیم پایه اصلی تصمیم‌گیری در برنامه‌ها هستند.

درس قبلی: دریافت اطلاعات از کاربر با تابع input در پایتون

درس بعدی: شرط‌های if، elif و else در پایتون

مشاهده فهرست کامل دوره آموزش پایتون از صفر

ادامه مسیر یادگیری پایتون

برای یادگیری منظم، آموزش‌های مرتبط زیر را به‌ترتیب دنبال کنید:

می‌خواهی پیشرفتت ذخیره شود؟با ورود یا ثبت‌نام رایگان، درس‌های تمام‌شده را علامت بزن و درصد پیشرفتت را در حساب کاربری ببین.ورود / ثبت‌نام برای ذخیره پیشرفت
درس بعدی · دوره رایگان پایتون (مقدماتی) (8 از 16)شرط‌های if، elif و else در پایتون؛ آموزش تصمیم‌گیری برای مبتدیان ←
آموزش‌های تازه، کد آماده و رفع خطاهر هفته در کانال Dev Source؛ رایگان.
🧭 مسیر یادگیری پایتون از صفر
ماژول 2: متغیرها، داده‌ها و ورودی — درس 8 از 44

برای ذخیره پیشرفت در همه دستگاه‌ها و دریافت گواهی پایان مسیر، رایگان ثبت‌نام کن یا وارد شو.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *