دستورات شرطی (if, elif, else) در پایتون با مثال‌های کاربردی

2

دستورات شرطی (if, elif, else) در پایتون با مثال‌های کاربردی

در دنیای واقعی، ما انسان‌ها هر روز بر اساس شرایط مختلف تصمیم‌گیری می‌کنیم: «اگر هوا بارانی باشد، چتر می‌برم؛ در غیر این صورت، عینک آفتابی می‌زنم». برنامه‌های کامپیوتری نیز برای هوشمند بودن و تعامل با کاربر، به چنین منطقی نیاز دارند. در زبان برنامه‌نویسی پایتون، این تصمیم‌گیری‌ها به کمک دستورات شرطی (Conditional Statements) انجام می‌شوند.

در این مقاله از بخش «مفاهیم پایه و سینتکس» پای شو، به زبان ساده و همراه با مثال‌های کاربردی، ساختار دستورات if، elif و else را بررسی می‌کنیم تا بتوانید جریان اجرای برنامه‌های خود را به درستی کنترل کنید.

دستور if (اگر)

ساده‌ترین شکل تصمیم‌گیری در پایتون، استفاده از کلمه کلیدی if است. این دستور یک شرط را بررسی می‌کند؛ اگر آن شرط درست (True) باشد، کدهای داخل آن بلاک اجرا می‌شوند.

ساختار و مثال دستور if

Python

age = 20

if age >= 18:
    print("شما به سن قانونی رسیده‌اید.")
    print("می‌توانید گواهینامه رانندگی بگیرید.")

تحلیل کد: در این مثال، پایتون بررسی می‌کند که آیا مقدار متغیر age بزرگتر یا مساوی ۱۸ است یا خیر. چون ۲۰ بزرگتر از ۱۸ است، شرط True ارزیابی شده و پیام‌ها چاپ می‌شوند.

نکته بسیار مهم: در پایتون، بلاک‌های کد با تورفتگی (Indentation) مشخص می‌شوند. تمام خطوطی که بعد از دستور if با فاصله (معمولاً ۴ اسپیس) نوشته شده‌اند، متعلق به آن شرط هستند. اگر تورفتگی را رعایت نکنید، با خطای IndentationError مواجه خواهید شد.

دستور else (در غیر این صورت)

دستور if به تنهایی فقط زمانی کاری انجام می‌دهد که شرط برقرار باشد. اما اگر شرط غلط (False) بود چه؟ اینجا پای else به میان می‌آید. دستور else به پایتون می‌گوید: «اگر شرط if برقرار نبود، این یکی کار را انجام بده».

ساختار و مثال دستور else

Python

password = "guest"

if password == "admin123":
    print("خوش آمدید! دسترسی کامل مجاز است.")
else:
    print("رمز عبور اشتباه است. دسترسی رد شد.")

تحلیل کد: پایتون ابتدا شرط if را چک می‌کند. چون رشته "guest" برابر با "admin123" نیست، شرط False می‌شود. بنابراین از کدهای داخل if عبور کرده و مستقیماً کدهای داخل بلاک else را اجرا می‌کند.

دستور elif (در غیر این صورت اگر)

در بسیاری از برنامه‌ها، ما فقط دو حالت (درست یا غلط) نداریم، بلکه باید چندین شرایط مختلف را به صورت متوالی بررسی کنیم. در زبان‌های دیگر معمولاً از else if استفاده می‌شود، اما پایتون برای خلاصه‌نویسی کلمه elif را معرفی کرده است.

شما می‌توانید به هر تعدادی که نیاز دارید از elif بین دستور if و else استفاده کنید.

ساختار و مثال دستور elif

Python

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 (نقیض): نتیجه شرط را برعکس می‌کند (درست را به غلط و برعکس تبدیل می‌کند).

مثال‌های کاربردی عملگرهای منطقی

Python

# مثال برای 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 دیگر بنویسید. به این حالت «شرط‌های تو در تو» می‌گویند. این روش برای زمانی کاربرد دارد که می‌خواهید پس از تایید یک شرط اولیه، شرایط جزئی‌تری را بررسی کنید.

Python

number = 15

if number > 0:
    print("این یک عدد مثبت است.")
    if number % 2 == 0:
        print("و همچنین یک عدد زوج است.")
    else:
        print("و همچنین یک عدد فرد است.")
else:
    print("این عدد صفر یا منفی است.")

جمع‌بندی

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

بدون دیدگاه

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

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