در مورد ساختارهای کنترلی در پایتون (python Decision making) براتون این بخش را گذاشتم که یکی از مهم ترین اصول برنامه نویسی میباشد. با ماهمراه بمانید.Decision making در واقع بررسی شرط ها حین اجرای برنامه و انجام عملیات صحیح بر اساس آن شرط است.ختارهای تصمیم گیری چندین عبارت را ارزیابی می کنند و به عنوان خروجی مقدار TRUE یا FALSE را برمی گردانند. برنامه نویس می بایست تصمیم بگیرد کدام دستور را در صورت صحیح یا غلط بودن شرط اجرا کند.

در زیر نموداری را شاهد هستیم که ساختار تصمیم گیری را در برنامه نویسی به نمایش می گذارد:

Python آموزش

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

دستورهای تصمیم گیری در زبان پایتون به شرح زیر می باشند:

دستور

شرح

if statements

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

if…else statements

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

به دنبال دستور شرطی if یک دستور اختیاری else می آید که در صورت FALSE بودن عبارت بولی اجرا می شود.

nested if statements

دستورات تودرتوی if – می توان یک if یا else if را درون یک دستور if یا else if دیگر گنجاند.

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

دستور if در پایتون

نحوه ی نگارش:

if expression:

statement(s)

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

Python آموزش

مثال:

#!/usr/bin/python

var1 = 100

if var1:

print “1 – Got a true expression value”

print var1

var2 = 0

if var2:

print “2 – Got a true expression value”

print var2

print “Good bye!”

پس از اجرای دستورات فوق، نتیجه ی زیر حاصل می گردد:

۱ – Got a true expression value

۱۰۰

Good bye!

IF…ELIF…ELSE در پایتون

نحوه ی نگارش دستور if…else بدین صورت می باشد:

if expression:

statement(s)

else:

statement(s)

Python آموزش

مثال:

#!/usr/bin/python

var1 = 100

if var1:

print “1 – Got a true expression value”

print var1

else:

print “1 – Got a false expression value”

print var1

var2 = 0

if var2:

print “2 – Got a true expression value”

print var2

else:

print “2 – Got a false expression value”

print var2

print “Good bye!”

پس از اجرا نتیجه ی زیر حاصل می گردد:

۱ – Got a true expression value

۱۰۰

۲ – Got a false expression value

۰

Good bye!

دستور elif

دستور elif به شما این امکان را می دهد که چندین عبارت را بررسی کنید و در صورت صحیح بودن (برقرار بودن) یکی از شرط ها (برگردانده شدن مقدار TRUE)، یک قطعه کد معین را اجرا کند.

مانند else، دستور elif کاملا اختیاری می باشد. اما بر خلاف else، می توان پس از دستور if چندین دستور elif داشت.

نحوه ی نگارش:

if expression1:

statement(s)

elif expression2:

statement(s)

elif expression3:

statement(s)

else:

statement(s)

در زبان پایتون، بر خلاف دیگر زبان های برنامه نویسی، ساختار کنترلی switch و دستورات case وجود ندارد. در عوض این زبان به منظور شبیه سازی عملکرد switch از همان دستورات if..elif… کمک می گیرد:

مثال:

#!/usr/bin/python

var = 100

if var == 200:

print “1 – Got a true expression value”

print var

elif var == 150:

print “2 – Got a true expression value”

print var

elif var == 100:

print “3 – Got a true expression value”

print var

else:

print “4 – Got a false expression value”

print var

print “Good bye!”

خروجی کد بالا:

۳ – Got a true expression value

۱۰۰

Good bye!

If های تودرتو

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

در ساختار تودرتو، می توان یک if…elif…else در دل if…elif…else داشت.

نحوه ی نگارشی:

if expression1:

statement(s)

if expression2:

statement(s)

elif expression3:

statement(s)

else

statement(s)

elif expression4:

statement(s)

else:

statement(s)

مثال:

#!/usr/bin/python

var = 100

if var < 200:

print "Expression value is less than 200"

if var == 150:

print "Which is 150"

elif var == 100:

print "Which is 100"

elif var == 50:

print "Which is 50"

elif var < 50:

print "Expression value is less than 50"

else:

print "Could not find true expression"

print "Good bye!"

نتیجه:

Expression value is less than 200

Which is 100

Good bye!

Statement Suite

چنانچه ساختمان if تنها از یک دستور تشکیل شود، در آن صورت می توان دستور if را در همان خط دستور سرآیند (header statement) قرار داد:

مثال:

#!/usr/bin/python

var = 100

if ( var == 100 ) : print "Value of expression is 100"

print "Good bye!"

نتیجه:

Value of expression is 100

Good bye!