ساختار های شرطی [ آموزش مقدماتی پایتون قسمت پنج ]

  • آخرین بروزرسانی در سه‌شنبه 29 سپتامبر 2020

    Average rating 5 / 5. Vote count: 1

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

در ساختار های شرطی چندین عبارت ارزیابی می شود و نتیجه آن ارزیابی در بازگرداندن True یا False خلاصه می شود.

شما به عنوان برنامه نویس با استفاده از دستور های شرطی تعیین می کنید که پس True یا False شدن یا در هر دو حالت چه اتفاقاتی در برنامه بیافتد.

دیاگرامی که در ادامه می بینید صورت ساده استفاده از دستور if است.

Decision making

در زبان برنامه نویسی پایتون هر مقداری غیر صفر و غیر Null به عنوان True در نظر گرفته می شود.

همچنین هر مقدار صفر یا Null به عنوان False در نظر گرفته می شود.

بررسی دستور شرطی if

فرض کنید می خواهیم مقدار متغیری را که در آن عدد 100 قرار گرفته شده را بررسی کنیم.

اگر در آن متغیر عدد 100 وجود داشت، پیامی را چاپ کنیم.

#!/usr/bin/python3

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

خروجی

Value of expression is 100
Good bye!

توجه داشته باشید که پیام Good bye! در هر حالت چاپ می شود.

دلیل آن این است که در خط 6 که دستور print برای چاپ این پیام وجود دارد به اندازه دستور بالایی آن دارای تو رفتگی (فاصه از ابتدای خط) نیست.

بنابراین خارج از دستور if میافتد.

نکته

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

بررسی دستور شرطی if…else

فرض کنید می خواهیم مقدار متغیری را که در آن عدد 99 قرار گرفته شده را بررسی کنیم.

اگر در آن متغیر عدد 100 وجود داشت، یک پیام و اگر مقدار دیگری وجود داشت پیامی دیگر چاپ کنیم.

#!/usr/bin/python3

var = 99
if ( var  == 100 ) :
  print ("Value of expression is 100")
else :
  print ("Value of expression is not 100")
print ("Good bye!")

خروجی

Value of expression is not 100
Good bye!

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

بررسی دستور شرطی if…elif…else

فرض کنید می خواهیم مقدار متغیری را که در آن عدد 99 قرار گرفته شده را بررسی کنیم.

اگر در آن متغیر عدد 100 وجود داشت، یک پیام و اگر مقدار 99 قرار داشت یک پیام و اگر مقدار دیگری وجود داشت پیامی دیگر چاپ کنیم.

#!/usr/bin/python3

var = 99
if ( var  == 100 ) :
  print ("Value of expression is 100")
elif ( var  == 99 ) :
  print ("Value of expression is 99")
else :
  print ("Value of expression is something else")
print ("Good bye!")

خروجی

Value of expression is 99
Good bye!

با استفاده ار دستور elif در کد بالا در صورتی که شرط تعیین شده در if برقرار نباشد، شرط دیگری بررسی می شود (آیا عدد مساوی 99 است).

در این صورت عملیات دیگری را انجام می دهیم.

بررسی دستور شرطی سه گانه

شکل کوتاه شده ای هم برای دستور if…else وجود دارد که به صورت زیر است و به آن عملگر سه گانه نیز می گویند.

a = 2
b = 330
print("A") if a > b else print("B") 

در کد بالا دستور شرطی را در یک خط و به صورت سه قسمتی نوشتیم.

خروجی

B

کد بالا به این صورت تقسیر می شود که اگر مقدار قرار گرفته در متغیر a بزرگتر از مقدار متغیر b باشد پیام A چاپ می شود.

در غیر این صورت پیام B چاپ می شود.

بررسی دستور شرطی تو در تو

Nested if یا دستور شرطی تو در تو حالتی است که در داخل یک if یک if دیگر داریم.

x = 41

if x > 10:
  print("Above ten,")
  if x > 20:
    print("and also above 20!")
  else:
    print("but not above 20.") 

خروجی

Above ten,and also above 20!

در کد بالا در صورتی که مقدار نگهداری شده در متغیر x بیشتر از 10 باشد وارد بدنه if می شویم.

درون بدنه if ابتدا یک پیام چاپ می شود و سپس با if…else دیگری روبرو می شویم.

اگر آن عدد از 20 هم بیشتر باشد یک پیام دیگر نیز چاپ می شود.

در غیر این صورت پیام دیگری چاپ می شود.

دستور pass در ساختار شرطی پایتون

در زبان برنامه نویسی پایتون بدنه if یا else یا elif نمی تواند خالی باشد.

اگر به هر دلیل نیاز داشتید تا بدنه ساختار شرطی خود را خالی بگذارید می بایست از دستور pass استفاده کنید.

a = 33
b = 200

if b > a:
  pass

And و Or در دستور شرطی

اگر بخواهید در ساختار شرطی خود مقدار بیش از یک عبارت یا متغیر را از نظر درستی یا نادرستی بررسی کنید می توانید از And یا Or استفاده کنید.

a = 200
b = 33
c = 500
if a > b and c > a:
  print("Both conditions are True")

خروجی

Both conditions are True

در کد بالا برای چاپ پیام نیاز است که هر دو شرط a > b و c > a درست باشد.

a = 200
b = 33
c = 500
if a > b or a > c:
  print("At least one of the conditions is True")

خروجی

At least one of the conditions is True

در کد بالا برای چاپ پیام کافی است که فقط یکی از شرط های a > b و a > c درست باشد که با توجه به درست بودن a > b پیام چاپ می شود.

برای دنبال کردن نوشته های کاپ کد به کانال تلگرامی آن (cupcode_ir@) بپیوندید!

دیدگاه خود را بیان کنید

@