ساختار تصمیم گیری (بررسی شرط) در پایتون

تصمیم گیری، پیش بینی شرایطی است که هنگام اجرای برنامه اتفاق می افتد و اقدامات انجام شده با توجه به شرایط را مشخص می کند.

ساختار تصمیم گیری عبارتهای چندگانه ای را که نتیجه آن TRUE یا FALSE است را ارزیابی می کند. شما باید تعیین کنید در چنین شرایطی کدام عمل را انجام دهید.

زبان برنامه نویسی پایتون هر مقدار غیر صفر و غیر تهی را به عنوان TRUE فرض می کند و اگر صفر یا null باشد، آن را به عنوان مقدار FALSE در نظر می گیرد.

در زبان برنامه نویسی پایتون نیز همانند سایر زبان ها از ساختا if – else برای بررسی شرایط بوجود آمده در برنامه نویسی استفاده می شود اما نحوه استفاده از این ساختار کمی متفاوت تر از زبان هایی مانند سی شارپ و جاوا اسکریپت است.

نحوه استفاده از ساختار if در پایتون

شکل کلی استفاده از دستور if در زبان برنامه نویسی پایتون به شکل زیر است:

if (شرط):
   شرط  دستورات در صورت درست بود
else
    دستورات در صورت غلط بود شرط

توجه داشته باشید که رعایت ساختار سلسله مراتبی هنگام استفاده از ساختار if ضروری می باشد.

مثال: برنامه ای بنویسید که زوج یا فرد بودن یک عدد را مشخص نماید.

همانطور که می دانیم، اعدادی زوج می باشند که باقی مانده تقسیم آنها بر 2 برابر صفر باشد. بنابراین کدهای این برنامه به شکل زیر خواهد بود.

x = 11
if (x % 2 == 0):
    print("even")
else:
    print("odd")

در این مثال متناسب با محتوای متغیر x تصمیم گیری می شود که عبارت even یا odd نمایش داده شود.

نکته مهم دیگری که باید به آن توجه داشته باشید آن است که برای بررسی شرط از علامت == استفاده می شود.

بررسی بیش از دو حالت توسط if در پایتون

در بسیاری مواقع نیاز خواهد بود بیش از دو حالت تصمیم گیری بوجود آید. در چنین شرایطی می توان به تعداد دلخواه از دستور else if و به شکل زیر استفاده نمود.

if(شرط 1):
    دستورات 1
elif (شرط 2):
    دستورات 2
elif (شرط 3):
    دستورات 3
else:
     دستورات نهایی

توجه داشته باشید دستورات مربوط به else (دستورات نهایی) تنها زمانی اجرا می شوند که هیچیک از شرط ها برقرا نباشند.

مثال: برنامه ای بنویسید که عددی را به عنوان شماره روز هفته از کاربر دریافت کرده و نام روز را نمایش دهد.

نکته: در پایتون 3 دستور input جایگزین raw_input شده است که در پایتون 2 جهت دریافت اطلاعات از کاربر مورد استفاده قرار می گرفت. همچنین اگر قصد داشته باشید اطلاعات دریافت شده از کاربر را به عدد تبدیل کنید از تابع int به شکل زیر استفاده می شود.

x = int(input('please enter day number: '))

کدهای این مثال به شکل زیر خواهد بود:

day = int(input('please enter day number: '))
if (day == 1):
    print('saturday')
elif(day == 2):
    print('sunday')
elif (day == 3):
    print('monday')
elif (day == 4):
    print('thusday')
elif (day == 5):
    print('wednesday')
elif (day == 6):
    print('thursday')
elif (day == 7):
    print('friday')
else:
    print('invalid number')

شرط های تو در تو در پایتون

در برخی مواقع نیاز است تعدادی شرط در صورت بروز یک شرط دیگر بررسی شوند. در چنین شرایطی می توان از شرط های تو در تو استفاده نمود.

مثال: برنامه ای بنوسید که عددی را از کاربر دریافت کرده و تشخیص دهد این عدد بیش از 100 است یا خیر. اگر بیش از 100 بود عبارت great را نمایش دهد، در غیر اینصورت (یعنی اگر کمتر از 100 بود) اگر بین 0 تا 30 بود عبارت low، اگر بین 30 تا 60 بود عبارت medium و اگر بین 60 تا 100 بود عبارت high را در خروجی نشان دهد.

num = int(input('please enter a number:'))
if num > 100:
    print('great')
elif num < 100:
    if num >= 0 and num < 30:
        print('low')
    elif num >= 30 and num < 60:
        print('medium')
    elif num >= 60 and num < 100:
        print('high')

در این مثال در صورتیکه عددی مانند 54 وارد شود، عبارت medium نمایش داده خواهد شد.

نکته: از عملگرهای منطقی مانند and و or برای ترکیب دو یا چند شرط استفاده می شود.