آموزش پایتون - دستور if تو در تو

پایتون از دستورهای if تو در تو پشتیبانی می‌کند؛ به این معنی که می‌توانیم از یک دستور شرطی if و if...else در داخل یک دستور if موجود استفاده کنیم.

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

علاوه بر این، در یک ساختار if تو در تو، می‌توانید یک ساختار if...elif...else را داخل یک ساختار if...elif...else دیگر قرار دهید.

سنتکس دستور if تو در تو

سنتکس ساختار if تو در تو به همراه شرط else به این صورت خواهد بود −

if boolean_expression1:
   statement(s)
   if boolean_expression2:
      statement(s)

فلوچارت دستور if تو در تو

در ادامه، فلوچارت دستور if تو در تو در پایتون آمده است −

nested if statement flowchart

مثالی از دستور if تو در تو

مثال زیر نحوه کارکرد دستورهای if تو در تو را نشان می‌دهد −

num = 36
print ("num = ", num)
if num % 2 == 0:
   if num % 3 == 0:
      print ("Divisible by 3 and 2")
print("....execution ends....")

وقتی کد بالا را اجرا می‌کنید، نتیجه زیر را نمایش می‌دهد −

num =  36
Divisible by 3 and 2
....execution ends....

دستور if تو در تو همراه با شرط else

همان‌طور که پیش‌تر اشاره شد، ما می‌توانیم دستور if-else را داخل یک دستور if به صورت تو در تو قرار دهیم. اگر شرط if درست (true) باشد، اولین دستور if-else اجرا می‌شود؛ در غیر این صورت، دستورهای داخل بلاک else اجرا خواهند شد.

سنتکس

سنتکس ساختار if تو در تو همراه با شرط else به این صورت خواهد بود −

if expression1:
   statement(s)
   if expression2:
      statement(s)
   else
      statement(s)
else:
   if expression3:
      statement(s)
   else:
      statement(s)

مثال

حال برای درک نحوه کارکرد آن، یک کد پایتون را بررسی می‌کنیم −

num=8
print ("num = ",num)
if num%2==0:
   if num%3==0:
      print ("Divisible by 3 and 2")
   else:
      print ("divisible by 2 not divisible by 3")
else:
   if num%3==0:
      print ("divisible by 3 not divisible by 2")
   else:
      print ("not Divisible by 2 not divisible by 3")

هنگامی که کد بالا اجرا می‌شود، خروجی زیر را تولید می‌کند −

num = 8
divisible by 2 not divisible by 3
num = 15
divisible by 3 not divisible by 2
num = 12
Divisible by 3 and 2
num = 5
not Divisible by 2 not divisible by 3

پیشرفت مطالعه: وضعیت خوانده‌شدن این درس فقط در همین مرورگر ذخیره می‌شود؛ بدون نیاز به حساب کاربری.