دستور if در پایتون : آموزش کار با if و else در پایتون
دستور if در پایتون : با آموزش کار با if و else در پایتون با شما عزیزان هستیم، معمولا از این دو دستور برای اجرای دستور شرطی استفاده می شود، بدین صورت که «اگر عبارت x درست باشد ، آنگاه باید y اجرا شود .»
خیلی وقت ها برای ما پیش آمده است که در زمان تصمیم گیری برای انجام کاری با توجه به شرایط خاص به حالت بلعکس نیز فکر می کنیم و سناریوی خوبی در نظر می گیریم .
مثال : اگر باران ببارد چتر میبرم ، اما اگر نبارد چتر نمی برم.
برای توسعه نرم افزارهای زیادی پیش می آید که در برخی از دستورات خاص ما برای برقراری شروط خاصی اجرا می شوند و در غیراین صورت نیازمند اجزا س دستورات دیگری می باشند .
مانند دستورات زیر:
1 2 3 4 |
if: شرط دستورات بخش اول else: دستورات بخش دوم |
توجه کنید که دستور if و else هر دو در یک بلوک قرار می گیرند و کدهای بدنه else مانند دستورات if می باشد و نسبت به دستور آن تو رفتگی دارند .
نکته 1 : بعد از نوشتن عبارت if باید حتما : بگذارید. بعد از آن در خط های بعدی هر چند خط که کد میخواهید برای بخش if بنویسید باید یک تورفتگی داشته باشد.
نکته 2 : بعد از نوشتن عبارت else باید حتما : بگذارید. بعد از آن در خط های بعدی هر چند خط که کد میخواهید برای بخش else بنویسید باید یک تورفتگی داشته باشد.
مثال :
1 2 3 4 5 |
a=int(input("enter number : ")) if a<10 : print ("1 digit") else: print ("more than 1 digit") |
در برنامه فوق از کاربر میخواهیم که یک عدد وارد کند. عدد را با دستور Input از کاربر گرفته ایم.
بعد اگر عدد وارد شده کمتر از 10 باشد پیام میدهیم که عدد 1 رقم دارد و اگر بزرگتر از 10 باشد پیام میدهیم که عدد بیش از یک رقم دارد.
نمونه ای از خروجی کد فوق در زیر آورده شده است:
1 2 3 4 5 |
enter number : 15 more than 1 digit >>> enter number : 6 1 digit |
اکنون قصد داریم تا دستورات شرطی سخت تر و پیچیده تری را بنویسیم .
بدین شکل که شرایط مختلفی از موضوع را در نظر خواهیم گرفت و به ازای هر کدا از شرایط ، یک سری تست خاص را انجام خواهیم داد.
دستور elif در پایتون
نکته : در دستورات شرطی وجود دستور if حتما باید باشد اما استفاده کردن از دستور else و elif اختیاری می باشد . و در صورت لزوم می توانیم از آن ها استفاده کنیم و یا حتی آن ها را حذف کنیم.
نکته : دستورهای elif همیشه پس از دستور if و قبل از دستور else مورد استفاده قرار می گیرند.
مثال : برنامه ای بنویسید که یک عدد از کاربر بگیرید بگوید چند رقمی است
1 2 3 4 5 6 7 8 9 10 |
n=int(input("enter number : ")) if n<10: print(' 1 digit') elif n<100: print(' 2 digit') elif n<1000: print(' 3 digit') else: print(' more than 3 digit') |
خروجی کد فوق بصورت زیر خواهد بود.
1 2 3 4 5 6 7 8 |
enter number : 36 2 digit >>> enter number : 22323 more than 3 digit >>> enter number : 65 2 digit |
آموزش if تودرتو در پایتون
اگر در بخش if بخواهیم باز شرط های مختلفی را چک کنیم و یا در بخش else شرط های مختلفی را بررسی کنیم به سراغ if تودرتو باید رفت.
برای درک این حالت مثال زیر را در نظر بگیرید.
مثال : برنامه ای که یک عدد از کاربر بگیرید و بگوید چند رقمی است. (در این برنامه اول چک میکنیم که آیا عدد وارد شده مثبت است یا منفی)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
n=int(input("enter number : ")) if n>0: if n<10: print(' 1 digit') elif n<100: print(' 2 digit') elif n<1000: print(' 3 digit') else: print(' more than 3 digit') else: if n>-10: print(' 1 digit') elif n>-100: print(' 2 digit') elif n>-1000: print(' 3 digit') else: print(' more than 3 digit') |
خروجی کد فوق را برای مثال های مختلف در زیر میتوانید مشاهده کنید:
1 2 3 4 5 6 7 8 |
enter number : 44 2 digit >>> enter number : -444 3 digit >>> enter number : -2 1 digit |
در برنامه فوق دو شرط اصلی داریم ، به این صورت است:
- اگر عدد مثبت است آنگاه چک کن که چند رقمی است ،
- وگرنه که عدد منفی است و چک کن که چند رقمی است.
در بخشی که عدد بزرگتر از 0 است برای اینکه چک کنیم عدد رقمی است همانند مثال قبل عمل کردیم. اما در بخشی که عدد منفی است برای تعیین تعداد ارقام باید از اعداد منفی در شرط ها استفاده میکردیم.
مثال برای استفاده از if-else در پایتون:
1 2 3 4 5 6 7 8 9 |
foodstuff= input("Please enter your choice (rice,cheese,egg)-->") if foodstuff=="rice": print("It costs 10000 Tomans per Kilo.") elif foodstuff =="cheese": print("It costs 5000 Tomans.") elif foodstuff =="egg": print("It costs 500 Tonans") else: print ("I don't have in stocks!") |
در برنامه فوق از کاربر خواستیم نام یکی از مواد غذایی را وارد کند . (برنج، پنیر یا تخم مرغ)
مفسر پایتون براساس ورودی کاربر باید بتواند تصمیم بگیرد که چه پیغامی را نمایش دهد .
در حقیقت مفسر پایتون ابتدا نام مواد غذایی را از کاربر گرفته و بعد آن را در متغیر foodstuff ذخیره می کند.
بعد از آن با دستور if چک میکنیم که کاربر چه مقداری وارد کرده بود. و بر حسب ورودی کاربر عبارت مناسبی را نمایش میدهد.
توضیحات کد بالا :
ابتدا مفسر پایتون به سراغ دستور if می رود. اگر شرط این دستور برقرار باشد یا کاربر کلمه «rice» را وارد کرده باشد
عبارت «it costs 10000 Tomans per kilo» را در خروجی چاپ خواهد کرد.
اما زمانی که شرط if برقرار نباشد مفسر پایتون به دستور بعدی رفته که همان دستور elif می باشد .
به همین دلیل اگر شرط if برقرار نبود ، شرط مربوط به دستور elif بررسی می شود .
در صورت برقرار نبودن شرط فوق ، دستورات بدنه آن اجرا خواهند شد.
بنابراین دستور if اگر عبارت جلوی دستور elif با مقدار True مساوی ارزیابی شود ، بدنه آن اجرا خواهد شد .
در غیر این صورت مفسر باز هم به سراغ دستور بعدی خواهد رفت .
در این برنامه دستور بعد هم elif می باشد .
شرط آن بررسی خواهد شد و در صورت برقراری شرط فوق ، دستورات مربوطه اجرا خواهند شد و در غیر این صورت مفسر به سراغ دستور بعدی خواهد رفت که در این مثال همان دستور else می باشد.
باید توجه کنید که دستور else موقعی اجرا خواهد شد که هیچکدام از شروط قبلی برقرار نبوده باشمد و مقدار بولین مربوطه با Trueبرابر باشد .
این زمانی اتفاق می افتد که یکی از شروط فوق برقرار باشد ..
مفسر وارد بدنه آن خواهد شد و دستورات مربوطه را اجرا خواهد کرد .
پس از پایان یافتن اجرا ، دستوران مرکب خارج خواهند شد .
سایر دستوران برنامه را اجرا خواهند کرد .
نتیجه کدهای بالا :
همانطور که مشاهده می کنید در اجرای برنامه ابتدا «egg» را به عنوان ورودی برنامه داده ایم که سبب اجرای دستور قرار گرفته در elif دوم می شود .
و رشته «It costs 5000 Tomans» در خروجی چاپ و نشان داده خواهد شد .
در اجرای رشته بعدی عبارت «meat» به عنوان ورودی داده می شود .
این مقدار برای برنامه تعریف نشده است به همین دلیل هیچ کدام از شروط if و elif برقرار نخواهد شد .
از همین مفسر به سراغ دستور else می رویم .
دستوران داخل else را اجرا می کنیم و در آخر عبارت «I don’t have in stocks!» در خروجی نشان داده خواهد شد.