در مورد ساختارهای کنترلی در پایتون (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!