دستورهای شرطی در پایتون
در برنامهنویسی، گاهی لازم است بین چند حالت تصمیمگیری کنیم. در این مواقع، از دستور if
استفاده میشود. این دستور یک شرط را بررسی کرده و در صورت برقرار بودن آن (یعنی اگر نتیجه شرط True
باشد)، دستورات مربوطه اجرا خواهند شد. ساختار سادهی یک دستور if
در پایتون به شکل زیر است:
if expression:
statements
در این ساختار، expression
شرط مورد نظر است و statements
شامل عملیات یا دستوراتی هستند که در صورت صحت شرط اجرا میشوند. نکته: پایتون برای تعیین بلوکهای کد از فاصله (space) در ابتدای خط استفاده میکند، بر خلاف زبانهایی مانند C که از آکولاد استفاده میکنند. رعایت نکردن صحیح فاصلهگذاری، باعث بروز خطا در اجرای برنامه خواهد شد. نمونهای از دستور if
در پایتون:
if 10 > 5:
print("10 greater than 5")
print("Program ended")
کد بالا بررسی میکند آیا عدد ۱۰ بزرگتر از ۵ است. چون این شرط برقرار است، پیام "10 greater than 5" چاپ میشود. سپس برنامه به خط بعدی میرود و پیام "Program ended" نیز نمایش داده میشود.
>>>
10 greater than 5
Program ended
>>>
نکته: توجه داشته باشید که پس از عبارت شرطی باید از علامت :
(کولون) استفاده شود. برای بررسی شرطهای پیچیدهتر، میتوان از ساختارهای تو در تو استفاده کرد؛ یعنی یک شرط را در داخل شرط دیگر قرار داد.
num = 12
if num > 5:
print("Bigger than 5")
if num <= 47:
print("Between 5 and 47")
خروجی:
>>>
Bigger than 5
Between 5 and 47
>>>
دستور else در پایتون
دستور else
مکمل دستور if
است. زمانی که شرط if
برقرار نباشد، دستور else
اجرا میشود. به این ترتیب، همیشه یکی از دو حالت اتفاق میافتد و برنامه بدون پاسخ باقی نمیماند.
x = 4
if x == 5:
print("Yes")
else:
print("No")
خروجی:
>>>
No
>>>
همچنین میتوان از ساختارهای if
و else
بهصورت تو در تو استفاده کرد تا شرایط مختلفی را بررسی کرد.
num = 7
if num == 5:
print("Number is 5")
else:
if num == 11:
print("Number is 11")
else:
if num == 7:
print("Number is 7")
else:
print("Number isn't 5, 11 or 7")
دستور elif در پایتون
دستور elif
شکل ترکیبشدهی else if
است. با استفاده از elif
میتوان چندین شرط را پشت سر هم بررسی کرد. معمولاً از if
به همراه یک یا چند elif
و در پایان از else
برای شرایط دیگر استفاده میشود.
num = 7
if num == 5:
print("Number is 5")
elif num == 11:
print("Number is 11")
elif num == 7:
print("Number is 7")
else:
print("Number isn't 5, 11 or 7")