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

🗓 آخرین بهروزرسانی:
عملگرها ابزارهایی هستند که با استفاده از آنها روی دادهها محاسبه انجام میدهیم یا دو مقدار را با یکدیگر مقایسه میکنیم. جمع قیمتها، محاسبه تخفیف، بررسی سن کاربر و تشخیص برابر بودن دو مقدار، همگی با کمک عملگرهای پایتون انجام میشوند.
این مطلب، درس هفتم از دوره رایگان آموزش پایتون از صفر است. در درس قبلی یاد گرفتیم اطلاعات را با تابع input() از کاربر دریافت کنیم. اکنون از همان دادهها برای محاسبه و مقایسه استفاده میکنیم.
عملگر در پایتون چیست؟
عملگر یا operator نمادی است که به پایتون میگوید روی یک یا چند مقدار چه عملی انجام دهد. در عبارت زیر، علامت + یک عملگر و عددهای ۵ و ۳ عملوند هستند:
result = 5 + 3
print(result)خروجی:
8در این درس دو گروه اصلی را بررسی میکنیم:
- عملگرهای ریاضی برای انجام محاسبات
- عملگرهای مقایسهای برای تولید نتیجه
TrueیاFalse
عملگرهای ریاضی در پایتون
پایتون عملگرهای اصلی زیر را برای محاسبات عددی فراهم میکند:
| عملگر | کاربرد | مثال | نتیجه |
|---|---|---|---|
+ | جمع | 8 + 2 | 10 |
- | تفریق | 8 - 2 | 6 |
* | ضرب | 8 * 2 | 16 |
/ | تقسیم معمولی | 8 / 2 | 4.0 |
// | تقسیم صحیح | 9 // 2 | 4 |
% | باقیمانده تقسیم | 9 % 2 | 1 |
** | توان | 2 ** 3 | 8 |
جمع با عملگر +
عملگر + دو مقدار عددی را با هم جمع میکند:
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)عملگرهای رایج انتساب ترکیبی عبارتاند از +=، -=، *=، /=، //=، %= و **=.
ترتیب انجام عملیات ریاضی
پایتون محاسبات را براساس تقدم عملگرها انجام میدهد. بهطور ساده، ترتیب مهم به شکل زیر است:
- پرانتزها
- توان
- ضرب، تقسیم، تقسیم صحیح و باقیمانده
- جمع و تفریق
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)در درس شرطها، این پروژه را بهگونهای توسعه میدهیم که براساس کافی یا ناکافی بودن بودجه، پیام متفاوتی نمایش دهد.
تمرینهای درس
- دو عدد از کاربر بگیرید و جمع، تفریق، ضرب و تقسیم آنها را نمایش دهید.
- عددی دریافت کنید و با عملگر
%بررسی کنید زوج است یا فرد. - طول و عرض مستطیل را دریافت و مساحت و محیط آن را محاسبه کنید.
- سن کاربر را دریافت کنید و نتیجه مقایسه
age >= 18را نمایش دهید. - قیمت محصول و درصد تخفیف را دریافت و مبلغ نهایی را محاسبه کنید.
- سه نمره دریافت کنید، میانگین را محاسبه و بررسی کنید آیا میانگین حداقل ۱۰ است.
اشتباهات رایج
- استفاده از
=بهجای==برای مقایسه - استفاده از
^بهجای**برای توان - فراموشکردن تبدیل خروجی
input()به عدد - تقسیم بر صفر
- نادیدهگرفتن تقدم عملگرها
- مقایسه عدد با رشته متنی
- انتظار نتیجه دقیق از تمام محاسبات اعشاری
📌 همچنین بخوانید: بازار کار پایتون در ایران، نصب و تنظیم پایتون در VS Code و برنامهنویسی پایتون با گوشی
پرسشهای متداول
تفاوت / و // چیست؟
عملگر / تقسیم معمولی انجام میدهد و نتیجه آن معمولاً اعشاری است. عملگر // خارجقسمت را به سمت پایین گرد میکند.
عملگر % چه کاربردی دارد؟
باقیمانده تقسیم را برمیگرداند و برای کارهایی مانند تشخیص زوج یا فرد بودن عدد، چرخهها و تقسیمبندی کاربرد دارد.
تفاوت = و == چیست؟
= برای انتساب مقدار به متغیر و == برای بررسی برابر بودن دو مقدار است.
نتیجه عملگرهای مقایسهای چیست؟
نتیجه همیشه یکی از دو مقدار بولی True یا False است.
چگونه ترتیب محاسبه را تغییر دهیم؟
عبارت موردنظر را داخل پرانتز قرار دهید. پرانتز بالاترین اولویت را دارد.
جمعبندی
در این درس با عملگرهای جمع، تفریق، ضرب، تقسیم، تقسیم صحیح، باقیمانده و توان آشنا شدیم. همچنین یاد گرفتیم چگونه با عملگرهای مقایسهای، رابطه میان دو مقدار را بررسی و نتیجهای بولی تولید کنیم. این مفاهیم پایه اصلی تصمیمگیری در برنامهها هستند.
درس قبلی: دریافت اطلاعات از کاربر با تابع input در پایتون
درس بعدی: شرطهای if، elif و else در پایتون
مشاهده فهرست کامل دوره آموزش پایتون از صفر
ادامه مسیر یادگیری پایتون
برای یادگیری منظم، آموزشهای مرتبط زیر را بهترتیب دنبال کنید:
برای ذخیره پیشرفت در همه دستگاهها و دریافت گواهی پایان مسیر، رایگان ثبتنام کن یا وارد شو.