دستورات شرطی (if, elif, else) در پایتون با مثالهای کاربردی
در دنیای واقعی، ما انسانها هر روز بر اساس شرایط مختلف تصمیمگیری میکنیم: «اگر هوا بارانی باشد، چتر میبرم؛ در غیر این صورت، عینک آفتابی میزنم». برنامههای کامپیوتری نیز برای هوشمند بودن و تعامل با کاربر، به چنین منطقی نیاز دارند. در زبان برنامهنویسی پایتون، این تصمیمگیریها به کمک دستورات شرطی (Conditional Statements) انجام میشوند.
در این مقاله از بخش «مفاهیم پایه و سینتکس» پای شو، به زبان ساده و همراه با مثالهای کاربردی، ساختار دستورات if، elif و else را بررسی میکنیم تا بتوانید جریان اجرای برنامههای خود را به درستی کنترل کنید.
دستور if (اگر)
سادهترین شکل تصمیمگیری در پایتون، استفاده از کلمه کلیدی if است. این دستور یک شرط را بررسی میکند؛ اگر آن شرط درست (True) باشد، کدهای داخل آن بلاک اجرا میشوند.
ساختار و مثال دستور if
age = 20
if age >= 18:
print("شما به سن قانونی رسیدهاید.")
print("میتوانید گواهینامه رانندگی بگیرید.")
تحلیل کد: در این مثال، پایتون بررسی میکند که آیا مقدار متغیر age بزرگتر یا مساوی ۱۸ است یا خیر. چون ۲۰ بزرگتر از ۱۸ است، شرط True ارزیابی شده و پیامها چاپ میشوند.
نکته بسیار مهم: در پایتون، بلاکهای کد با تورفتگی (Indentation) مشخص میشوند. تمام خطوطی که بعد از دستور
ifبا فاصله (معمولاً ۴ اسپیس) نوشته شدهاند، متعلق به آن شرط هستند. اگر تورفتگی را رعایت نکنید، با خطایIndentationErrorمواجه خواهید شد.
دستور else (در غیر این صورت)
دستور if به تنهایی فقط زمانی کاری انجام میدهد که شرط برقرار باشد. اما اگر شرط غلط (False) بود چه؟ اینجا پای else به میان میآید. دستور else به پایتون میگوید: «اگر شرط if برقرار نبود، این یکی کار را انجام بده».
ساختار و مثال دستور else
password = "guest"
if password == "admin123":
print("خوش آمدید! دسترسی کامل مجاز است.")
else:
print("رمز عبور اشتباه است. دسترسی رد شد.")
تحلیل کد: پایتون ابتدا شرط if را چک میکند. چون رشته "guest" برابر با "admin123" نیست، شرط False میشود. بنابراین از کدهای داخل if عبور کرده و مستقیماً کدهای داخل بلاک else را اجرا میکند.
دستور elif (در غیر این صورت اگر)
در بسیاری از برنامهها، ما فقط دو حالت (درست یا غلط) نداریم، بلکه باید چندین شرایط مختلف را به صورت متوالی بررسی کنیم. در زبانهای دیگر معمولاً از else if استفاده میشود، اما پایتون برای خلاصهنویسی کلمه elif را معرفی کرده است.
شما میتوانید به هر تعدادی که نیاز دارید از elif بین دستور if و else استفاده کنید.
ساختار و مثال دستور elif
score = 85
if score >= 90:
print("نمره شما عالی است (A)")
elif score >= 80:
print("نمره شما خیلی خوب است (B)")
elif score >= 70:
print("نمره شما خوب است (C)")
elif score >= 50:
print("شما قبول شدید (D)")
else:
print("متاسفانه شما مردود شدید (F)")
تحلیل کد: پایتون شرطها را به ترتیب از بالا به پایین بررسی میکند. ۱. آیا ۸۵ بزرگتر از ۹۰ است؟ خیر. ۲. آیا ۸۵ بزرگتر از ۸۰ است؟ بله. به محض اینکه اولین شرط درست پیدا شود، پایتون کدهای آن بخش را اجرا کرده و از کل این ساختار شرطی خارج میشود (یعنی بقیه شروط پایینتر را دیگر بررسی نمیکند).
ترکیب شرطها با عملگرهای منطقی (and, or, not)
گاهی اوقات نیاز داریم که در یک خط، دو یا چند شرط را به صورت همزمان بررسی کنیم. برای این کار از عملگرهای منطقی استفاده میکنیم:
-
and(و): تنها در صورتی کل شرطTrueمیشود که همه شرطهای دو طرف آن درست باشند. -
or(یا): اگر حداقل یکی از شرطها درست باشد، کل شرطTrueمیشود. -
not(نقیض): نتیجه شرط را برعکس میکند (درست را به غلط و برعکس تبدیل میکند).
مثالهای کاربردی عملگرهای منطقی
# مثال برای and
username = "admin"
is_active = True
if username == "admin" and is_active == True:
print("ورود به پنل مدیریت موفقیتآمیز بود.")
# مثال برای or
day = "جمعه"
if day == "پنجشنبه" or day == "جمعه":
print("امروز تعطیل است، استراحت کنید!")
# مثال برای not
is_banned = False
if not is_banned:
print("شما میتوانید کامنت بگذارید.")
شرطهای تو در تو (Nested if)
شما میتوانید یک دستور if را داخل یک دستور if دیگر بنویسید. به این حالت «شرطهای تو در تو» میگویند. این روش برای زمانی کاربرد دارد که میخواهید پس از تایید یک شرط اولیه، شرایط جزئیتری را بررسی کنید.
number = 15
if number > 0:
print("این یک عدد مثبت است.")
if number % 2 == 0:
print("و همچنین یک عدد زوج است.")
else:
print("و همچنین یک عدد فرد است.")
else:
print("این عدد صفر یا منفی است.")
جمعبندی
دستورات شرطی if، elif و else اسکلتبندی منطق در زبان پایتون هستند. با درک صحیح این دستورات و نحوه ترکیب آنها با عملگرهای منطقی، میتوانید برنامههای هوشمندی بنویسید که در شرایط مختلف، واکنشهای متفاوتی از خود نشان میدهند. پیشنهاد میکنیم کدهای این مقاله را در محیط برنامهنویسی خود کپی کرده و با تغییر متغیرها، نتایج مختلف را تست کنید تا به تسلط کامل برسید.

بدون دیدگاه