ساختار اتخاذ تصمیم در پایتون به گونه ایست که برنامه نویس میخواهد بین چند شرط ارزیابی کند و سپس برنامه را نسبت به تصمیمی که اتخاذ کرده است به پیش ببرد.
در ادامه به بیان فرم کلی آن میپردازم:
در پایتون هر مقدار غیر صفر یا non-zero و هر مقدار غیر هیچ یا non-null ارزشی برابر true دارد و مقادیر zero و null ارزشی برابر false دارد.
تک شرطی ها
تک شرطی ها ساده ترین نوع شروط هستند که شما در آن فقط یک شرط را مورد بررسی قرار میدهید. به مثال زیر توجه کنید:
1 2 3 4 |
#!/usr/bin/python var = 100 if ( var == 100 ) : print "Value of expression is 100" print "Good bye!" |
وقتی شما اسکریپت بالا را به اجرا در می آورید خروجی زیر قابل مشاهده خواهد بود:
1 2 |
Value of expression is 100 Good bye! |
شرط if در پایتون
قاعده استفاده از این نوع شرط در پایتون به صورت زیر است:
1 2 |
if expression: statement(s) |
شمای آن به صورت زیر است:
این حالت را با مثالی به شما نشان میدهم:
1 2 3 4 5 6 7 8 9 10 |
#!/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!" |
خروجی این اسکریپت به صورت زیر خواهد بود:
1 2 3 |
1 - Got a true expression value 100 Good bye! |
شروط IF…ELSE در پایتون
قاعده کلی هنگام استفاده از این ساختار به صورت زیر می باشد:
1 2 3 4 |
if expression: statement(s) else: statement(s) |
شکل آن به صورت زیر است:
به مثال زیر توجه کنید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#!/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!" |
خروجی اسکریپت بالا به صورت زیر خواهد بود:
1 2 3 4 5 |
1 - Got a true expression value 100 2 - Got a false expression value 0 Good bye! |
ساختار elif در پایتون
این ساختار بررسی میکند که اگر شرط برقرار نبود در غیر این صورت شرط دیگری را چک کن.
پایتون ساخته switch …case را مانند دیگر زبان ها نمیداند و به جای آن از ساختار elif استفاده میکند.
ساختار آن به صورت زیر است:
1 2 3 4 5 6 7 8 |
if expression1: statement(s) elif expression2: statement(s) elif expression3: statement(s) else: statement(s) |
برای مثال میتونید به اسکریپت زیر نگاه بندازید و اون رو اجرا کنید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#!/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!" |
بعد از اجرای این اسکریپت خروجی زیر را دریافت خواهید کرد:
1 2 3 |
3 - Got a true expression value 100 Good bye! |
شرطهای تو در تو
قاعده کلی استفاده از شرط های تو در تو به صورت زیر است:
1 2 3 4 5 6 7 8 9 10 11 12 |
if expression1: statement(s) if expression2: statement(s) elif expression3: statement(s) else statement(s) elif expression4: statement(s) else: statement(s) |
این قاعده را با بیان یک مثال کامل میکنم:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#!/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!" |
بعد از به اجرا در آوردن این اسکریپت خروجی مشابه زیر خواهید داشت:
1 2 3 |
Expression value is less than 200 Which is 100 Good bye! |