آموزش شرط if ... else در پایتون
منبع: https://rasanika.com
عبارت if به ما این امکان را میدهد که بخش هایی از کد را فقط در صورت برقرار بودن شرایط خاص اجرا کنیم.
شرط و دستور if در پایتون
پایتون از شرایط منطقی متداول در ریاضیات پشتیبانی می کند:
برابر:
a == b
برابر نیست:
a != b
کمتر از:
a < b
کمتر یا مساوی با:
a <= b
بزرگتر از:
a > b
بزرگتر یا مساوی با:
a >= b
این شرایط را می توان در بخش های مختلفی استفاده کرد که متداول ترین آنها استفاده در عبارت if و حلقه ها است.
مثال شرط if
a = 33
b = 200
if b > a:
print("b is greater than a")
در این مثال از دو متغیر a و b استفاده میکنیم که به عنوان بخشی از عبارت if، برای بررسی اینکه آیا b بزرگتر از a است یا خیر، استفاده میشوند . از آنجایی که a برابر 33 است و b برابر 200 است، می دانیم که 200 بزرگتر از 33 است و بنابراین کد print داخل شرط if اجرا خواهد شد.
تورفتگی
پایتون برای تعریف محدوده یا scope در کد به تورفتگی (فاصله سفید در ابتدای خط) متکی است. سایر زبان های برنامه نویسی اغلب از براکت ها برای این منظور استفاده می کنند.
مثال
عبارت if بدون تورفتگی (خطا میدهد):
a = 33
b = 200
if b > a:
print("b is greater than a") # you will get an error
elif
با استفاده از کلیدواژه elif
می توانیم بگوییم: «اگر شرایط قبلی درست نبود، این شرط را امتحان کن».
مثال
a = 33
b = 33
if b > a:
print("b is greater than a")
elif a == b:
print("a and b are equal")
در این مثال a برابر با b است، بنابراین شرط اول درست نیست، اما شرط elif درست است، پس کد print("a and b are equal")
اجرا خواهد شد.
else
کلیدواژه else
زمانی اجرا میشود که هیچ یک از شرط های قبلی برقرار نشده باشد.
مثال
a = 200
b = 33
if b > a:
print("b is greater than a")
elif a == b:
print("a and b are equal")
else:
print("a is greater than b")
در این مثال a بزرگتر از b است، بنابراین شرط اول درست نیست، همچنین شرط elif نیز درست نیست، بنابراین به شرط else می رسیم.
همچنین می توانید شرط else
بدون elif
هم بنویسید:
a = 200
b = 33
if b > a:
print("b is greater than a")
else:
print("b is not greater than a")
عبارت if کوتاه شده (یک خطی)
اگر فقط یک دستور برای اجرا دارید، می توانید آن را در همان خط عبارت if قرار دهید.
عبارت if یک خطی:
if a > b: print("a is greater than b")
کوتاه شده if…else
اگر فقط یک دستور برای اجرا دارید، یکی برای if و دیگری برای else، می توانید همه آن را در یک خط قرار دهید:
a = 2
b = 330
print("A") if a > b else print("B")
این تکنیک به عنوان Ternary Operators یا Conditional Expressions شناخته می شود.
همچنین می توانید چندین عبارت دیگر در یک خط داشته باشید:
a = 330
b = 330
print("A") if a > b else print("=") if a == b else print("B")
کلیدواژه and
کلیدواژه and
یک عملگر منطقی است و برای ترکیب عبارات شرطی استفاده می شود، شرط کلی زمانی برقرار است که همه شروط and شده برقرار باشند.
مثال
a = 200
b = 33
c = 500
if a > b and c > a:
print("Both conditions are True")
کلیدواژه or
کلیدواژه or
یک عملگر منطقی است و برای ترکیب عبارات شرطی استفاده می شود، شرط کلی زمانی برقرار است که حداقل یکی از شروط or شده برقرار باشد.
a = 200
b = 33
c = 500
if a > b or a > c:
print("At least one of the conditions is True")
کلیدواژه not
کلیدواژه not
یک عملگر منطقی است و برای معکوس کردن نتیجه عبارت شرطی استفاده می شود:
a = 33
b = 200
if not a > b:
print("a is NOT greater than b")
if های تو در تو
شرط های if می توانند در داخل یکدیگر نیز قرار بگیرند، به این حالت، if های تو در تو (nested) گفته می شود.
مثال
x = 41
if x > 10:
print("Above ten,")
if x > 20:
print("and also above 20!")
else:
print("but not above 20.")
دستور pass
عبارات if
نمی توانند خالی باشند، اما اگر به هر دلیلی یک if
خالی دارید، می توانید از pass
برای جلوگیری از خطا استفاده کنید:
a = 33
b = 200
if b > a:
pass