در نوشتن برنامه به هر زبان، معمولاً نیاز است تا شرط یا شروطی بر روی عملگرها یا مقادیر ورودی و خروجی گذاشته شود تا بتوان بهتر و دقیقتر به هدف مورد نظر دست یافت. در این شماره و شمارههای آتی به معرفی سه نوع تعریف شرط به کمک دستورات if, else, elif و while پرداخته میشود و با کاربرد هر یک در برنامه نویسی پایتون آشنا میشوید. البته دستور while بیشتر زمانیکه کاربر از حلقهها در برنامه استفاده کرده باشد کاربرد دارد.
دستور if
برای تعریف شرط به کمک if کافی است از نمادها به همراه متغیرها استفاده کنید. برای شناخت بهتر نمادها میتوانید جدول ۱ را مشاهده کنید.
جدول 1) آشنایی با نمادها جهت تعریف شرط
برای تعریف تابع شرطی بعد از نوشتن if باید یک عبارت شرطی با استفاده از نمادها تعریف و در انتها از علامت دو نقطه استفاده کنید سپس در خط بعد، دستور مورد نظر خود را بنویسید. به مثالهای ذکر شده در شکل ۱ توجه کنید. همانطور که در این شکل مشاهده میکنید ابتدا متغیر a به مقدار 3 تعریف شده است سپس در خط بعدی به کمک دستور if یک شرط تعریف شده است که در آن مقدار a باید 2 یا بزرگتر از 2 باشد که با توجه به اینکه در خط اول مقدار a برابر 3 انتخاب شده است بنابراین دستور موجود در خط سوم اجرا میشود. در خط سوم دستور چاپ مقدار a نوشته شده است که پاسخ برابر 3 خواهد بود. همچنین در ادامه شرطی تعریف شده است که اگر مقدار a کوچکتر یا مساوی 4 باشد دستور خط بعد که چاپ عبارت MED&LAB است اجرا شود که با توجه به اینکه در ابتدا مقدار a برابر 3 تعریف شده است این شرط نیز صادق بوده و عبارت مورد نظر چاپ و نمایش داده میشود. نکته قابل توجه این است که پس از تعریف شرط به کمک if حتماً باید در انتها از دو نقطه استفاده کرد و دستور پس از شرط نیز در پایین عبارت شرطی نوشته میشود و نباید دستور خط بعد را در زیر if نوشت.
شکل1) نحوه تعریف دستور شرطی با if
امکان نوشتن دو یا چند شرط نیز با if وجود دارد. شما میتوانید برنامهای بنویسید که یک ورودی داشته باشد و دو شرط روی آن ورودی اعمال شود. به طور مثال اگر عدد ورودی زوج باشد، عبارت Even چاپ شود و اگر عدد ورودی فرد باشد عبارت Odd ظاهر شود. پیش از مشاهده برنامه نوشته شده در شکل 2 جهت انجام این کار باید بدانید که ملاک زوج یا فرد بودن عدد، باقی مانده تقسیم عدد ورودی بر 2 است که اگر صفر باشد عدد زوج و اگر 1 باشد عدد فرد است. در مثال ذکر شده در شکل2، عدد ورودی فرد و در نهایت برنامه نیز به درستی فرد بودن عدد ورودی را تأیید کرده است. لازم به توضیح است که در نوشتن چنین شروطی نباید شرط دوم زیر مجموعه شرط اول باشد بلکه باید به صورت مستقل تعریف شود.
شکل ۲) نحوه استفاده از دو عبارت شرطی بر روی یک متغیر ورودی
استفاده از شروط تو در تو
در مواقعی نیاز است شرطها مستقل از هم نباشند بلکه به نوعی به هم مرتبط باشند. به طور مثال برنامهای بنویسید که یک عدد ورودی از کاربر بگیرد و در صورتی که زوج بوده و بر 4 بخش پذیر باشد عبارت OK را چاپ کند. برنامه انجام این کار در شکل 3 نشان داده شده است. همانطور که مشاهده میکنید ابتدا کاربر عدد 18 که زوج است را وارد میکند اما به دلیل اینکه بر 4 بخش پذیر نیست خروجی تولید نمیشود. در مرحله بعد عدد 40 وارد میشود که شرط اول یعنی زوج بودن اجرا میشود و سپس به شرط دوم وارد و چون بر 4 نیز بخش پذیر است، عبارت OK ظاهر میشود.
شکل ۳) استفاده از شروط تو در تو
حال اگر برنامهای بخواهید که به طور مثال عدد ورودی را بگیرد و اگر بر 2 و 4 بخش پذیر بود عبارت OK، اگر بر 5 بخش پذیر بود عبارت YES و اگر بر 3 بخش پذیر نبود عبارت NO را چاپ کند باید به برنامه نوشته شده در شکل ۴ رجوع کنید. در این برنامه اگر عدد 40 وارد شود، چون بر 2 و 4 بخش پذیر است و بر 5 نیز بخش پذیر است به ترتیب OK و YES چاپ میشوند. با توجه به اینکه عدد 40 بر 3 بخش پذیر نیست عبارت NO هم چاپ میشود. در مثالی دیگر، اگر عدد 15 وارد شود فقط عبارت YES ظاهر میشود چون عدد 15 بر 2 بخش پذیر نبوده و شرط اول اجرا نمیشود و چون بر 3 بخش پذیر است شرط سوم نیز برقرار نیست و فقط شرط دوم اجرا خواهد شد که خروجی این شرط عبارت YES است.
شکل ۴) نحوه استفاده از چند شرط با if
دیدگاه ها