
روز ۵: شرطها (if، elif، else) و تصمیمگیری در پایتون
در دنیای برنامه نویسی، تقریباً هیچ برنامهی جدیای وجود ندارد که بدون تصمیمگیری اجرا شود. شرطها دقیقاً همان جایی هستند که به برنامه اجازه میدهند «فکر کند» و بر اساس وضعیتهای مختلف، رفتار متفاوتی از خود نشان دهد. در پایتون، ساختارهای شرطی if، elif و else ابزار اصلی ما برای پیادهسازی منطق تصمیمگیری هستند. اگر بخواهیم ساده بگوییم، شرطها به برنامه میگویند اگر فلان اتفاق افتاد، این کار را انجام بده و اگر نه، سراغ مسیر دیگری برو. همین مفهوم ساده، پایهی تمام سیستمهای پیچیدهتر مثل احراز هویت کاربران، اعتبارسنجی فرمها، منطق بازیها و حتی سیستمهای هوش مصنوعی است. درک درست شرطها در این مرحله از یادگیری، باعث میشود در ادامهی مسیر با حلقهها، توابع و پروژهها به مشکل نخورید.
ساختار if در پایتون و نحوه استفاده صحیح از آن
سادهترین نوع شرط در پایتون، دستور if است. این دستور زمانی اجرا میشود که یک عبارت منطقی مقدار True داشته باشد. نکتهی مهم در پایتون این است که خوانایی کد اهمیت بسیار بالایی دارد و به همین دلیل، بلاکهای شرطی با تورفتگی یا indentation مشخص میشوند. اگر شرط برقرار باشد، کدی که داخل بلاک if نوشته شده اجرا میشود و اگر برقرار نباشد، پایتون از آن عبور میکند. این ساختار به شما اجازه میدهد رفتار برنامه را بر اساس ورودی کاربر، مقادیر متغیرها یا نتیجهی محاسبات کنترل کنید. بسیاری از مبتدیها در این بخش با تورفتگی اشتباه میکنند، اما اگر از همان ابتدا به تمیز نوشتن کد عادت کنید، شرطها یکی از سادهترین بخشهای پایتون خواهند بود.
age = 20
if age >= 18:
print("شما مجاز هستید وارد سایت شوید")در این مثال، اگر مقدار متغیر age بزرگتر یا مساوی ۱۸ باشد، پیام نمایش داده میشود و در غیر این صورت هیچ اتفاقی نمیافتد. همین الگوی ساده، پایهی بسیاری از تصمیمگیریهای پیچیدهتر است.
استفاده از else برای مدیریت حالتهای جایگزین
در بسیاری از مواقع، فقط دانستن اینکه یک شرط برقرار است کافی نیست و باید مشخص کنیم اگر برقرار نبود چه اتفاقی بیفتد. اینجاست که else وارد بازی میشود. دستور else دقیقاً زمانی اجرا میشود که شرط if برابر False باشد. استفادهی درست از else باعث میشود منطق برنامه شفافتر شود و تمام حالتهای ممکن پوشش داده شوند. در پروژههای واقعی، نبود else میتواند باعث رفتارهای غیرمنتظره شود، بهخصوص زمانی که ورودی کاربر غیرقابل پیشبینی است. به همین دلیل توصیه میشود همیشه به این فکر کنید که اگر شرط اصلی برقرار نشد، برنامه چه واکنشی باید نشان دهد.
age = 15
if age >= 18:
print("شما مجاز هستید وارد سایت شوید")
else:
print("دسترسی شما محدود است")در این کد، برنامه دقیقاً میداند در هر دو حالت چه کاری انجام دهد و این یعنی کنترل بهتر جریان اجرای برنامه.
شرطهای چندگانه با elif و مدیریت سناریوهای مختلف
زمانی که بیش از دو حالت مختلف داریم، استفاده از elif بهترین انتخاب است. elif در واقع ترکیبی از else و if است و اجازه میدهد چندین شرط مختلف را به ترتیب بررسی کنیم. پایتون شرطها را از بالا به پایین بررسی میکند و به محض اینکه یکی از آنها برقرار باشد، همان بلاک اجرا شده و بقیه نادیده گرفته میشوند. این رفتار باعث میشود نوشتن منطقهای پیچیده به شکلی خوانا و قابل فهم امکانپذیر باشد. استفادهی صحیح از elif به شما کمک میکند از شرطهای تو در توی شلوغ و ناخوانا دوری کنید.
score = 82
if score >= 90:
print("نمره عالی")
elif score >= 75:
print("نمره خوب")
elif score >= 60:
print("نمره قابل قبول")
else:
print("مردود")این مثال یکی از رایجترین کاربردهای شرطها را نشان میدهد که در سیستمهای آموزشی، ارزیابی و حتی بازیها بسیار استفاده میشود.
ترکیب شرطها با عملگرهای منطقی
شرطها زمانی قدرتمندتر میشوند که با عملگرهای منطقی مثل and، or و not ترکیب شوند. این عملگرها به شما اجازه میدهند چند شرط را به صورت همزمان بررسی کنید. مثلاً میتوانید بررسی کنید که کاربر هم سن قانونی دارد و هم رمز عبور درستی وارد کرده است. این ترکیبها در پروژههای واقعی مثل سیستم لاگین یا فیلتر کردن دادهها بسیار حیاتی هستند. یادگیری این بخش کمک میکند منطق برنامهنویسیتان از حالت خطی خارج شود و به تفکر شرطی واقعی نزدیکتر شود.
age = 25
has_account = True
if age >= 18 and has_account:
print("ورود موفق")
else:
print("شرایط ورود فراهم نیست")در روز پنجم یادگیری پایتون، شما با یکی از مهمترین مفاهیم برنامهنویسی یعنی شرطها آشنا شدید. if، elif و else ابزارهایی هستند که تقریباً در تمام برنامهها از سادهترین اسکریپتها تا سیستمهای بزرگ استفاده میشوند. اگر این مبحث را عمیق و درست یاد بگیرید، در روزهای بعد که سراغ حلقهها و ساختارهای پیچیدهتر میرویم، مسیر برایتان بسیار هموارتر خواهد بود. پیشنهاد میشود حتماً با سناریوهای مختلف تمرین کنید و شرطها را با ورودی کاربر ترکیب کنید تا کاملاً در ذهنتان جا بیفتد.
