آموزش دستورات شرطی در python. دستورات شرطی به شما این امکان را میدهند که برنامهتان را بر اساس شرایط مختلف هدایت کنید. از طریق دستورات if, else و elif میتوانید تعیین کنید که اگر یک شرط خاص برقرار باشد، چه عملی انجام شود.
1. دستورات شرطی if, else, elif
1.1 دستور if
دستور if برای بررسی یک شرط استفاده میشود. اگر شرط برقرار باشد، کد داخل بدنهی دستور اجرا میشود.
ساختار:
if condition: # کدهایی که اگر شرط True باشد اجرا میشود
مثال:
age = 18
if age >= 18:
print("You are an adult.")
در این مثال، اگر مقدار متغیر age برابر یا بیشتر از ۱۸ باشد، پیام “You are an adult.” چاپ میشود.
1.2 دستور else
دستور else به دنبال دستور if میآید و زمانی که شرط if برقرار نباشد (یعنی False باشد) اجرا میشود.
ساختار:
if condition: # کدهایی که اگر شرط True باشد اجرا میشود else: # کدهایی که اگر شرط False باشد اجرا میشود
مثال:
age = 16
if age >= 18:
print("You are an adult.")
else:
print("You are not an adult.")
در این مثال، چون مقدار age کمتر از ۱۸ است، پیام “You are not an adult.” چاپ خواهد شد.
1.3 دستور elif
دستور elif (مخفف “else if”) به شما این امکان را میدهد که چندین شرط مختلف را بررسی کنید. اگر شرط اول برقرار نبود، برنامه به سراغ شرطهای بعدی میرود.
ساختار:
if condition1: # کدهایی که اگر condition1 True باشد اجرا میشود elif condition2: # کدهایی که اگر condition1 False و condition2 True باشد اجرا میشود elif condition3: # کدهایی که اگر condition1 و condition2 هر دو False و condition3 True باشد اجرا میشود else: # کدهایی که اگر همه شرایط False باشند اجرا میشود
مثال:
age = 20
if age < 13:
print("You are a child.")
elif age < 18:
print("You are a teenager.")
else:
print("You are an adult.")
در این مثال:
اگر مقدار age کمتر از ۱۳ باشد، پیام “You are a child.” چاپ میشود.
اگر مقدار age کمتر از ۱۸ باشد و شرط اول برقرار نباشد، پیام “You are a teenager.” چاپ میشود.
در غیر این صورت، پیام “You are an adult.” چاپ خواهد شد.
1.4 استفاده از چند شرط در یک عبارت
در پایتون میتوانید از عملگرهای منطقی مانند and, or, و not برای ترکیب چند شرط استفاده کنید.
مثال:
age = 25
has_permission = True
if age >= 18 and has_permission:
print("You are allowed to enter.")
else:
print("You are not allowed to enter.")
در این مثال، دو شرط برای تصمیمگیری در نظر گرفته شده است:
باید سن بزرگتر یا مساوی ۱۸ باشد.
باید دسترسی (permission) داشته باشد.
اگر هر دو شرط برقرار باشند، پیام “You are allowed to enter.” چاپ میشود.
نکات مهم:
در پایتون، بدنه دستورات شرطی باید با یک سطح از تورفتگی (indentation) از دستورات بیرونی جدا شود. این تورفتگی معمولاً ۴ فاصله یا یک تب است.
در مقایسهها میتوانید از عملگرهای مقایسهای مانند ==, !=, >, <, >=, <= استفاده کنید.
دستور elif اختیاری است و شما میتوانید فقط از if و else استفاده کنید.
2. ساختار شرطی پیچیدهتر
ساختارهای شرطی پیچیدهتر به شما این امکان را میدهند که با استفاده از ترکیب چندین شرط و عملگرهای منطقی، شرطهای پیچیدهتری را در برنامهتان ایجاد کنید.
2.1 استفاده از ترکیب عملگرهای منطقی
برای ترکیب چندین شرط، میتوان از عملگرهای منطقی مانند and, or, و not استفاده کرد. این عملگرها به شما این امکان را میدهند که چند شرط را به یکدیگر وصل کنید.
استفاده از and
عملگر and به این معنی است که تمام شرایط باید برقرار باشند تا نتیجه نهایی درست باشد.
ساختار:
if condition1 and condition2: # اجرای کد در صورتی که هر دو شرط برقرار باشند
مثال:
age = 20
has_permission = True
if age >= 18 and has_permission:
print("You are allowed to enter.")
else:
print("You are not allowed to enter.")
در این مثال، برای اینکه پیامی مبنی بر اجازه ورود چاپ شود، هر دو شرط (age >= 18 و has_permission) باید برقرار باشند.
استفاده از or
عملگر or به این معناست که اگر حداقل یکی از شرایط برقرار باشد، دستور اجرا میشود.
ساختار:
if condition1 or condition2: # اجرای کد در صورتی که حداقل یکی از شرایط برقرار باشد
مثال:
age = 15
has_permission = True
if age >= 18 or has_permission:
print("You are allowed to enter.")
else:
print("You are not allowed to enter.")
در این مثال، حتی اگر سن کمتر از ۱۸ باشد، چون فرد اجازه ورود (has_permission) دارد، پیامی مبنی بر اجازه ورود چاپ میشود.
استفاده از not
عملگر not به شما این امکان را میدهد که شرطی را معکوس کنید. یعنی اگر یک شرط درست باشد، آن را به اشتباه تبدیل میکند و بالعکس.
ساختار:
if not condition: # اجرای کد در صورتی که شرط False باشد
مثال:
has_permission = False
if not has_permission:
print("You are not allowed to enter.")
else:
print("You are allowed to enter.")
در این مثال، چون has_permission برابر با False است، پیامی مبنی بر عدم اجازه ورود چاپ میشود.
2.2 شرطهای تو در تو (Nested if)
میتوانید از دستورات شرطی به صورت تو در تو (داخل هم) استفاده کنید تا تصمیمگیریهای پیچیدهتری را انجام دهید.
ساختار:
if condition1: if condition2: # اجرای کد در صورتی که هر دو شرط برقرار باشند else: # اجرای کد در صورتی که شرط اول برقرار و شرط دوم برقرار نباشد else: # اجرای کد در صورتی که شرط اول برقرار نباشد
مثال:
age = 25
has_permission = True
if age >= 18:
if has_permission:
print("You are allowed to enter.")
else:
print("You are not allowed to enter due to lack of permission.")
else:
print("You are not allowed to enter because you are underage.")
در این مثال، ابتدا بررسی میشود که فرد بالغ است یا نه. سپس، اگر فرد بالغ باشد، بررسی میشود که آیا اجازه ورود دارد یا خیر.
2.3 ترکیب if و elif با عملگرهای منطقی
شما میتوانید از عملگرهای منطقی در ترکیب با if و elif نیز استفاده کنید تا چندین شرط را بررسی کنید.
مثال:
age = 25
has_permission = True
is_vip = False
if age < 18:
print("You are a minor.")
elif age >= 18 and has_permission:
if is_vip:
print("You are an adult and a VIP. Welcome!")
else:
print("You are an adult and allowed to enter.")
else:
print("You are not allowed to enter.")
در این مثال:
ابتدا بررسی میشود که فرد زیر ۱۸ سال است یا نه.
سپس اگر سن برابر یا بیشتر از ۱۸ باشد و دسترسی داشته باشد، بررسی میشود که آیا فرد VIP است یا خیر.
در غیر این صورت، پیام “You are not allowed to enter.” چاپ میشود.
2.4 استفاده از if با چندین شرایط مقایسهای
شما میتوانید چندین مقایسه را در یک عبارت if ترکیب کنید تا تصمیمگیریهای پیچیدهتری انجام دهید.
مثال:
age = 22
height = 175
if 18 <= age <= 30 and 160 <= height <= 180:
print("You are eligible for the program.")
else:
print("You are not eligible for the program.")
در این مثال، فرد باید هم شرایط سنی و هم شرایط قد را برآورده کند تا پیام “You are eligible for the program.” چاپ شود.
2.5 استفاده از else برای شرایط پیشفرض
شما میتوانید از دستور else برای تعیین شرایط پیشفرض استفاده کنید، در صورتی که هیچکدام از شرایط if و elif برقرار نباشند.
مثال:
score = 65
if score >= 90:
print("You got an A!")
elif score >= 80:
print("You got a B.")
elif score >= 70:
print("You got a C.")
else:
print("You failed the exam.")
در این مثال، اگر هیچکدام از شرایط برای گرفتن A, B, یا C برقرار نباشند، دستور else اجرا شده و پیام “You failed the exam.” چاپ میشود.
