آموزش پایتون - تصمیمگیری
قابلیت تصمیمگیری در پایتون در کلمات کلیدی آن قرار دارد − if..elif...else. کلمه کلیدی if نیازمند یک عبارت بولین (بولی) است که بعد از آن نماد دو نقطه (:) قرار میگیرد. نماد دو نقطه (:) یک بلوک تورفته را آغاز میکند. دستوراتی که سطح تورفتگی یکسانی دارند، در صورتی اجرا میشوند که عبارت بولین در دستور if برابر با True باشد. اگر عبارت True نباشد (False باشد)، مفسر از بلوک تورفته صرفنظر کرده و به سراغ اجرای دستورات در سطح تورفتگی قبلی میرود.
ساختارهای تصمیمگیری چندین عبارت را ارزیابی میکنند که خروجی آنها TRUE یا FALSE است. شما باید تعیین کنید که در صورت TRUE بودن خروجی، چه عملی انجام شود و چه دستوراتی اجرا شوند، و در غیر این صورت (در صورت FALSE بودن) چه اتفاقی بیفتد.
در ادامه، شکل کلی یک ساختار تصمیمگیری معمولی که در اکثر زبانهای برنامهنویسی یافت میشود آورده شده است −

زبان برنامهنویسی پایتون هر مقدار غیرصفر و غیرتهی (non-null) را به عنوان TRUE فرض میکند و اگر مقدار برابر با صفر یا تهی (null) باشد، آن را به عنوان مقدار FALSE در نظر میگیرد.
انواع دستورات تصمیمگیری در پایتون
زبان برنامهنویسی پایتون انواع دستورات تصمیمگیری زیر را ارائه میدهد. برای بررسی جزئیات آنها روی لینکهای زیر کلیک کنید.
| شماره | دستور و توصیف |
|---|---|
| 1 | دستورات if
یک دستور if شامل یک عبارت بولین است که به دنبال آن یک یا چند دستور قرار میگیرد. |
| 2 | دستورات if...else
یک دستور if میتواند با یک دستور else اختیاری همراه شود که در صورت FALSE بودن عبارت بولین اجرا میشود. |
| 3 | دستورات if تو در تو
شما میتوانید از یک دستور if یا else if در داخل یک یا چند دستور if یا else if دیگر استفاده کنید. |
اجازه دهید هر ساختار تصمیمگیری را به طور خلاصه مرور کنیم −
مجموعه دستورات تکخطی (Single Statement Suites)
اگر مجموعه دستورات مربوط به یک عبارت if تنها از یک خط تشکیل شده باشد، میتوان آن را در همان خطی که عبارت اصلی (Header) قرار دارد نوشت.
مثال
در ادامه مثالی از یک عبارت if تکخطی آورده شده است −
var = 100
if ( var == 100 ) : print ("Value of expression is 100")
print ("Good bye!")
هنگامی که کد بالا اجرا میشود، نتیجه زیر را تولید میکند −
Value of expression is 100
Good bye!
دستور if...else
در این دستور تصمیمگیری، اگر شرط if درست (true) باشد، دستورات داخل این بلوک اجرا میشوند؛ در غیر این صورت، بلوک else اجرا خواهد شد.
برنامه بر اساس درست یا نادرست بودن شرط موجود در دستور if انتخاب میکند که کدام بلوک از کد اجرا شود.
مثال
مثال زیر نحوه استفاده از دستور if...else را نشان میدهد.
var = 100
if ( var == 100 ):
print ("Value of var is equal to 100")
else:
print("Value of var is not equal to 100")
با اجرای کد بالا، خروجی زیر نمایش داده میشود −
Value of var is equal to 100
دستورات if تو در تو (Nested if)
یک if تو در تو، ساختار تصمیمگیری دیگری است که در آن یک دستور if در داخل دستور if دیگری قرار میگیرد. این ساختار به ما امکان میدهد چند شرط را به صورت متوالی بررسی کنیم.
مثال
در این مثال، استفاده از دستور nested-if را مشاهده خواهیم کرد.
var = 100
if ( var == 100 ):
print("The number is equal to 100")
if var % 2 == 0:
print("The number is even")
else:
print("The given number is odd")
elif var == 0:
print("The given number is zero")
else:
print("The given number is negative")
با اجرای کد بالا، خروجی زیر نمایش داده میشود −
The number is equal to 100
The number is even
پیشرفت مطالعه: وضعیت خواندهشدن این درس فقط در همین مرورگر ذخیره میشود؛ بدون نیاز به حساب کاربری.