در کدهای پایتون از دستور «if» برای تصمیم‌گیری استفاده می‌شود. با کمک عبارت if می‌توانیم یک یا چند خط کد مشخص را به صورت شرطی اجرا کنیم. یعنی اینکه شرطی را می‌نویسیم. اگر این شرط‌ برقرار بود، آن کدها اجرا می‌شوند. در غیر این صورت، برنامه از روی آن بخش عبور می‌کند. یعنی آن کدها را نادیده می‌گیرد. در زمان توسعه‌ اپلیکیشن‌های مختلف، موقعیت‌های فراوانی پیش می‌آیند که در آن‌ها اجرای بعضی از وظایف باید نسبت به شرایط فرق کند. توسعه‌دهندگان باید بتوانند این موقعیت‌ها را مدیریت کنند. استفاده از ساختارهای شرطی مانند if باعث انعطاف‌پذیری هرچه بیشتر برنامه‌ها می‌شود. برای همین در این مطلب چند مثال برای دستور if در پایتون بررسی کرده‌ایم.

آنچه در این مطلب می‌آموزید:

  • یاد می‌گیرید که چگونه با استفاده از دستور if-else رفتارهای مختلفی را برای هر شرط اجرا کنید.

  • می‌آموزید که چگونه با استفاده از elif چند شرط مختلف را در یک ساختار بررسی کنید.

  • روش استفاده از عملگر‌های منطقی را برای پیاده‌سازی شرط‌های پیچیده می‌آموزید.

  • با ساختار if تو در تو آشنا شده و روش نوشتن آن را یاد می‌گیرید.

  • روش نوشتن دستور if به صورت عملگر سه‌گانه را یاد می‌گیرید.

  • می‌‌آموزید چگونه هر کدام از بلوک‌های if و elif و else را در یک خط تعریف کنید.

فهرست مطالب این نوشته
997696

در این مطلب از مجله فرادرس با انواع روش‌های استفاده از دستور if در پایتون آشنا می‌شویم. ابتدا توضیح مختصری درباره دستور if داده و ساختارهای مختلف پیاده‌سازی آن را نام می‌بریم. سپس با استفاده از ۱۹ مثال برای دستور if در پایتون تمام روش‌ها را یک به یک بررسی می‌کنیم.

دستور if در پایتون چیست و چگونه استفاده می‌شود؟

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

از این دستور می‌توان در قالب‌های زیر استفاده کرد.

  1. if  ساده
  2. ساختار if…else
  3. دستور if  چندشاخه با استفاده از بلوک elif
  4. استفاده از if  با شرط‌های ترکیبی
  5. عبارت شرطی if  یک‌خطی
  6. دستور if  تو در تو
روش‌های مختلف استفاده از ساختار شرطی if
روش‌های مختلف استفاده از ساختار شرطی if

در ادامه مطلب، هر کدام از ساختارهای بالا را با کمک چند مثال متنوع بررسی کرده‌ایم. در کل این مطلب، ۱۹ مثال برای دستور if در پایتون پیاده‌سازی شده‌اند.

if ساده

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

یکی از روش‌های بسیار خوب برای یادگیری مطالب برنامه نویسی استفاده از فیلم‌های آموزشی است. اگر نسبت به عملکرد عبارت‌های شرطی if و else در پایتون ناآشنا هستید، از فیلم‌های آموزشی پایتون استفاده کنید. با مشاهده فیلم رایگان آموزش پایتون جادی – دستورات شرطی else و if از فرادرس می‌توانید روش صحیح و ابتدایی کار با این ابزارها را بیاموزید. برای کمک به مخاطبان مجله، لینک این فیلم را در پایین نیز قرار داده‌ایم.

در کادر زیر، سینتکس مورد استفاده برای نوشتن if  ساده را پیاده‌سازی کرده‌ایم.

نکات مهم سینتکس بالا را در فهرست زیر نوشته‌ایم.

  • در این سینتکس کلمه کلیدی if  ثابت است.
  • به‌جای عبارت condition  شرط خود را می‌نویسیم.
  • به‌جای عبارت # Statements to execute هم کدهایی را می‌نویسیم که در صورت برقرار بودن شرط باید اجرا شوند.

نکته:‌ لازم به اشاره است که باید قائده مربوط به «دندانه‌گذاری» (indentation) را در پایتون رعایت کنیم. یعنی بدنه‌ی شرط باید با فاصله‌ی مناسب، کمی جلوتر از کلمه‌ی کلیدی if  - به سمت راست – نوشته شود.

در فلوچارت پایین روش اجرای دستور if  ساده را نشان داده‌‌ایم.

روش کار عبارت شرطی if ساده
روش کار عبارت شرطی if ساده

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

مثال اول بررسی بزرگ‌تر کوچک‌تر بودن اعداد

در این مثال می‌خواهیم عدد 10 را با 5 مقایسه کنیم. اگر عدد 10 بزرگ‌تر بود پیغام تایید آن را بر روی صفحه‌نمایش نشان می‌دهیم. در غیر این صورت، برنامه بدون نشان دادن عکس‌العمل خاصی به پایان می‌رسد.

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

10 greater than 5
Program ended

 مثال دوم مقایسه دو متغیر

در این مثال برای دستور if در پایتون، می‌خواهیم مقدار درون دو متغیر مختلف را با کمک عبارت شرطی مقایسه کنیم. ابتدا دو متغیر‌ x  و y را مقداردهی می‌کنیم. در مسائل واقعی معمولا این مقادیر توسط کاربر یا از خارج از محیط برنامه گرفته می‌‌شوند. سپس این متغیر‌ها را با هم مقایسه می‌کنیم. در صورت بزرگ‌تر بودن x  از y، کد دیگری اجرا می‌شود. در این مثال اگر x  از y  بزرگ‌تر باشد، متغیر z  را مقداردهی می‌کنیم.

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

Variable z is now 13.

مثال سوم ساختار if بدون عبارت شرطی

برای نوشتن شرط‌های دستور if  از عملگر‌های مقایسه‌ای استفاده می‌کنیم. نتیجه این شرط همیشه مقدار بولین است. یعنی یا True  یا False  است. در زبان پایتون تمام مقادیر معتبر به غیر از 0  و False  و None  معادل True  هستند. بنابراین می‌توانیم شرط‌ها را بدون استفاده از عملگر‌های مقایسه‌ای و به شکل زیر هم بنویسیم.

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

y is yes

یادگیری پایتون با کمک فیلم‌های فرادرس

پایتون، ترکیبی از قدرت، سادگی و انعطاف‌پذیری است. در نتیجه به یکی از مشهور‌ترین و پرکاربرد‌ترین زبان‌های برنامه نویسی دنیا تبدیل شده. برای یادگیری برنامه نویسی با پایتون، منابع آموزشی متنوعی بوجود آمده‌اند. آموختن برنامه نویسی با پایتون روش خوبی برای ورود به حوزه‌های طراحی وب، علم داده، توسعه‌دهنده نرم‌افزارهای دسکتاپ و غیره است. فیلم‌های آموزشی، بهترین منبع برای یاد گرفتن این زبان هستند. استفاده از فیلم‌های آموزشی نسبت به سایر منابع، مخصوصا در بحث برنامه نویسی و دیگر علوم کامپیوتری، مزیت‌های بیشتری دارد.

مجموعه آموزش پایتون برای نوجوانان – مقدماتی تا پیشرفته
با کلیک بر روی تصویر بالا می‌توانید به صفحه اصلی مجموعه آموزش فیلم‌های پایتون برای نوجوانان هدایت شوید.

فرادرس با تولید مطالب و فیلم‌های آموزشی متنوع به یکی از بزرگترین تولیدکنندگان محتوای آموزشی فارسی زبان تبدیل شده است. فیلم‌های مربوط به آموزش زبان پایتون جزو پرطرفدارترین گزینه‌ها در بین فیلم‌های فرادرس هستند. اگر در ابتدای مسیر یادگیری پایتون هستید، پیشنهاد می‌کنیم فیلم آموزش رایگان پایتون، برنامه نویسی سریع و آسان در ۱۴۰ دقیقه را از فرادرس مشاهده کنید. استفاده از فیلم‌های مجموعه آموزش پایتون برای نوجوانان یکی از روش‌های مناسب برای یادگیری بهتر این زبان برنامه نویسی است. در پایین چند فیلم‌ از این مجموعه آموزشی را معرفی کرده‌ایم.

ساختار if…else

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

در بخش پایین سینتکس، لازم برای استفاده از بلوک else  را پیاده‌سازی کرده‌ایم.

درباره این سینتکس باید به چند نکته مهم توجه کنیم. این نکات در فهرست پایین نوشته‌ شده‌اند.

  • در سینتکس بالا کلمه‌های if  و else  ثابت هستند.
  • به‌جای عبارت condition  شرط خود را می‌نویسیم.
  • به‌جای عبارت # Statements to execute بالایی کدهایی را می‌نویسیم که در صورت برقرار بودن شرط if  باید اجرا شوند.
  • به‌جای عبارت # Statements to execute پایینی هم کدهایی را می‌نویسیم که در صورت برقرار نبودن شرط if  باید اجرا شوند.

در فلوچارت پایین روش کار ساختار if…else را پیاده‌سازی کرده‌ایم.

روش کار بلوک‌های شرطی if...else
روش کار بلوک‌های شرطی if…else

در ادامه، چند مثال برای دستور if در پایتون آورده‌ایم. با کمک این مثال‌ها روش کار با بلوک else  را نیز بررسی کردیم.

مثال چهارم بررسی مقدار متغیر x

در این مثال، مقداری به متغیر x  اختصاص داده شده است. برنامه با استفاده از ساختار if…else بررسی می‌کند که آیا این مقداربرابر با 4 است یا نه. اگر مقدار x  برابر با 4 بود در خروجی عبارت Yes  چاپ می‌شود. در غیر این صورت عبارت No  چاپ خواهد شد.

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

مثال پنجم عکس العمل مناسب در بلوک else

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

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

x is smaller than y.

مثال ششم بررسی چند شرط مختلف با کمک if…else

برای بررسی چند شرط مختلف می‌توانیم از ساختارهای if…else به صورت زنجیره‌ای استفاده کنیم. در این مثال، برنامه از ساختار if…else به صورت تو در تو برای بررسی مقدار متغیر استفاده کرده است.

  1. ابتدا مقداری را به متغیر letter  اختصاص داده‌ایم.
  2. سپس با کمک ساختار تو در توی if…else محتوای این مقدار را بررسی می‌کنیم.
  3. با توجه به اینکه این مقدار B  یا C  یا A  باشد، پیغام مناسبی به کاربر نمایش می‌دهیم.
  4. در نهایت اگر مقدار متغیر letter  هیچ کدام از این کاراکترها نبود هم پیغام مناسبی نمایش داده خواهد شد.

در واقع «ساختار شرطی سلسله مراتبی» (Hierarchical Conditional Structure) را در این کد، پیاده‌سازی کرده‌ایم.

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

letter is A

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

دستور if چندشاخه با استفاده از بلوک elif

به دستور if  چندشاخه با استفاده از بلوک elif، عبارت if-elif  هم گفته می‌شود. با استفاده از عبارت if-elif  زنجیره if…else-های تو در تو کوتاه‌تر می‌شوند. در انتهای بلوک‌های elif هم می‌توانیم بلوک else  قرار بدیم. این بلوک زمانی اجرا می‌شود که هیچ‌کدام از شرط‌های بالا برقرار نباشند.

در کار زیر، سینتکس مورد استفاده برای پیاده‌سازی ساختار if-elif  را نوشته‌ایم.

درباره سینتکس بالا توجه به چند نکته ضروری است.

  • کلمه‌های کلیدی if  و elif و else  ثابت هستند.
  • وجود بلوک else  در این ساختار اختیاری است.
  • هیچ محدودیتی در تعداد بلوک elif وجود ندارد.
  • به‌جای پارامتر‌های condition  شرط مورد نظر خود را می‌نویسیم.
  • به‌جای عبارت‌های statement  دستورات مورد نظر خود را می‌نویسیم. این دستورات زمانی اجر می‌شوند که شرط بلوک شرط بلوک برقرار باشد.
  • به محض اینکه اولین شرط برقرار شد، دستورالعمل مربوط به بلوک آن شرط اجرا می‌شود. بقیه شرط‌های نوشته شده بعد از آن هرگز بررسی نمی‌شوند.

در فلوچارت زیر، تصویری از ساختار تصمیم‌گیری if-elif  رسم شده‌ است. در این تصویر یک بلوک if  و دو بلوک elif و یک else  وجود دارند.

روش کار بلوک if-elif-else
روش کار بلوک if-elif-else

برای کمک به درک بهتر مطلب، چند مثال برای دستور if در پایتون با ساختار if-elif  را بررسی می‌کنیم.

مثال هفتم چند شرط مختلف با ساختار if-elif-else

در این مثال برای ارزیابی مقدار ذخیره شده در متغیر letter  از ساختار if-elif-else  استفاده کرده‌ایم. در واقع می‌خواهیم مثال ششم را به شکل کوتاه‌تر و خواناتری بنویسیم. با توجه به اینکه کدام کاراکتر B  یا C  یا A  در متغیر ذخیره شده، برنامه پیغام متناسبی را در خروجی چاپ می‌کند. در کد پایین، برنامه شرط‌های مختلفی را یک به یک بررسی می‌کند. سپس بر اساس مقدار متغیر، تصمیم می‌گیرد که چه عکس‌العملی از خود بروز دهد.

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

letter is A

مثال هشتم مقایسه دو متغیر مختلف

در این مثال، ابتدا دو مقدار مختلف به متغیر‌های x  و y  اختصاص داده‌ایم. سپس آن‌ها را با استفاده از ساختار if-elif-else  با همدیگر مقایسه می‌کنیم.

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

x is equal to y.

مثال نهم تصمیم‌گیری بر اساس آب و هوا

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

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

I'll go to the sea

استفاده از if با شرط‌های ترکیبی

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

در ادامه ۳ مثال برای دستور if در پایتون آورده‌ایم. در تمام این مثال‌ها از دستور if به وسیله شرط‌های ترکیبی استفاده کردیم.

مثال دهم بررسی دما

در مثال زیر، متغیری را برای ذخیره دما به نام temp  تعریف کرده‌ایم. این متغیر مقدار دما را از کاربر دریافت می‌کند. سپس برنامه با توجه به مقدار دما عکس‌العمل، نشان می‌دهد.

بعد از اجرای کد بالا و با فرض اینکه کاربر عدد 20  را وارد کرده باشد، خروجی زیر تولید شده و در کنسول پایتون نمایش داده می‌شود.

c:/Users/m.rashidi/pythontest/Faradars_method_test.py
Enter the temperature: 20
It's not a hot day.
It's not a hot day.

نکته: در مثال بالا شرط‌های if  اول و if  سوم درست ارزیابی شده‌اند. چون این if-ها به صورت زنجیره‌ای یا تو در تو بهم متصل نیستند، همگی ارزیابی می‌شوند. اما اگر شرط‌های این کد به صورت if-elif  نوشته شده بودند، بعد از درست ارزیابی شدن شرط اول، بقیه شرط‌ها بررسی نمی‌شدند.

چندین if رنگارنگ که با فلش به همدیگر متصل شده‌‌اند.

مثال یازدهم تحلیل اعداد

استفاده از شرط‌های ترکیبی، کاربرد زیادی در برنامه‌های بزرگ و پیچیده دارد. در این مثال، روش جدا کردن عددهای خاص از داخل یک لیست را بررسی می‌کنیم. فرض کنیم که لیست nums  شامل اعداد 1  تا 14  است. باید تمام اعداد کوچک‌تر از 3  یا بزرگ‌ترمساوی عدد 10  را پیدا کنیم. روش کار این کد را در فهرست پایین نوشته‌ایم.

  1. ابتدا لیست خالی برای نگهداری اعداد بدست آمده ایجاد می‌کنیم.
  2. سپ با کمک حلقه for بر روی لیست nums  پیمایش می‌کنیم.
  3. در هر گردش با استفاده از عبارت شرطی if  این اعداد را جدا کرده و در لیست – ساخته شده در خط ۱ – ذخیره می‌کنیم.
  4. برای این کار، ابتدا دو شرط مقایسه‌ای نوشته‌ایم. سپس آن‌ها را با عملگر or  با هم ترکیب کردیم.

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

[1, 2, 10, 11, 12, 13, 14]

مثال دوازدهم ترکیب عملگرهای منطقی

در این مثال، شرط پیچیده‌تری را بررسی کرده‌ایم. برنامه نویس می‌تواند چندین عملگر منطقی مختلف را در کنار هم و در یک عبارت به کار ببرد. از همان لیست nums  استفاد می‌کنیم. اکنون باید تمام اعداد زوج کوچک‌تر از 3  یا بزرگترمساوی 10 را پیدا کنیم. یعنی باید از شرط دیگری هم برای بخش‌پذیری اعداد بر ۲ استفاده کنیم.

برای مشخص کردن زوج بودن اعداد از عملگر %  در پایتون، استفاده می‌کنیم. عملگر %  برای محاسبه باقیمانده تقسیم به کار می‌رود. اعدادی که باقیمانده تقسیم آن‌ها بر 2  برابر با 0  است، زوج هستند. عملگر %  زیرمجموعه‌ای از عملگر‌های مربوط به تقسیم در پایتون است. برای آشنایی با این دسته از عملگر‌ها می‌توانید مطلب مربوط به آن‌ها را در مجله فرادرس مطالعه کنید.

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

[2, 10, 12, 14]

دستور if تو در تو

می‌توانیم از دستور if  در داخل دستور if  دیگری استفاده کنیم. به این ساختارهای‌ شرطی «عبارت if تو در تو» (Nested If Statement) گفته می‌‌شود. یعنی آن که ساختار if  درونی فقط به شرطی بررسی می‌شود که شرط مشخص شده در if  بیرونی درست باشد. با این روش، توسعه‌دهندگان می‌توانند برقرار بودن چند شرط مختلف را پشت سر هم بررسی کنند.

در فلوچارت پایین روش کار عبارت if  تو در تو را رسم کرده‌ایم. در این ساختار دو if  مختلف درون یکدیگر تعبیه شده‌‌اند.

روش کار بلوک if تو در تو
روش کار بلوک if تو در تو

مثال سیزدهم مدیریت شرایط تو‌ در تو

در این مثال برای مقایسه مقدار متغیر a  و عدد 15  و 5  از عبارت if  تو در تو استفاده کرده‌ایم. ابتدا بررسی می‌کنیم که آیا متغیر a از 5  بزرگ‌تر است یا نه. اگر شرط برقرار بود، سپس بررسی می‌کنیم که آیا این عدد از 15  کوچک‌تر یا مساوی با آن است یا نه. اگر شرط اول برقرار باشد در خروجی عبارت Bigger than 5  را چاپ می‌کنیم. اگر شرط دوم هم برقرار باشد، در خروجی عبارت Between 5 and 15  چاپ می‌شود. در واقع در این کد، از عبارت شرطی سلسله مراتبی استفاده کرده‌ایم.

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

Bigger than 5
Between 5 and 15

مثال چهاردهم تعبیه چند if در یک if

هیچ محدودیتی در تعداد if-های مجاز برای نوشتن در if  بیرونی وجود ندارد. همه این if-ها را می‌توانیم به صورت سلسله مراتبی بنویسیم. همین‌طور که در مثال قبل دیدیم. همچنین می‌توان چند if  مختلف را موازی هم نیز نوشت. وقتی if-ها را به صورت موازی‌ هم – در سطح دندانه‌گذاری یکسان – می‌نویسیم، تمام آن‌ها یک به یک بررسی می‌شوند. یعنی برقرار بودن یا شکست شرط یکی از if-ها تاثیری بر روی بررسی سایر if-ها ندارد. در مثال پایین، روش تعبیه چند if  در کنار هم و در داخل if  بیرونی را بررسی کرده‌ایم.

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

i is smaller than 15
i is smaller than 12 too

مثال پانزدهم ترکیب ساختارهای مختلف به صورت تو در تو

زبان برنامه نویسی پایتون بسیار انعطاف‌پذیر است. توسعه‌دهندگان پایتون می‌توانند ساختارهای مختلف را با همدیگر ترکیب کرده و استفاده کنند. در این مثال برای دستور if در پایتون، از ساختار if-elif-else  در ساختار if-elif-else  بیرونی استفاده کرده‌ایم. عبارت شرطی در if  بیرونی از نوع شرط‌های ترکیبی است.

در کادر پایین، مقداری را به عنوان نمره در متغیر mark  ذخیره کرده‌ایم. سپس با توجه به نمره بدست آمده برنامه به کاربر عکس‌العمل نشان می‌هد.

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

Well done!

یادگیری مفاهیم پیشرفته پایتون با کمک فرادرس

تسلط بر روی مفاهیم پیشرفته پایتون باعث می‌شود که توسعه‌دهندگان به موقعیت‌های شغلی مختلفی دسترسی داشته باشند. زیرا پایتون در حوزه‌های گوناگون به کار برده می‌شود. این زبان‌، کتابخانه‌های متنوعی دارد. یادگیری پایتون در مراحل اولیه ساده است. اما برای کسب مهارت و آشنا شدن با تکنیک‌های پیشرفته باید تمرکز و انرژی بیشتری صرف کنیم. فرادرس مجموعه‌ای از فیلم‌های آموزشی را برای زبان پایتون تولید کرده است. هدف فرادرس این است که مخاطبانش به راحتی و بدون سردرگمی روش استفاده از مفاهیم پیشرفته را یاد بگیرند.

در پایین، چند مورد از فیلم‌های آموزشی مربوط به پایتون را معرفی کرده‌ایم.

مجموعه آموزش برنامه نویسی پایتون Python – مقدماتی تا پیشرفته
با کلیک بر روی تصویر بالا می‌توانید به صفحه اصلی مجموعه فیلم‌های آموزش برنامه نویسی پایتون Python از مقدماتی تا پیشرفته هدایت شوید.

عبارت شرطی if یک‌خطی

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

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

در ادامه این بخش، هر دو مورد بالا را به ترتیب بررسی کرده‌ایم.

استفاده از عملگر سه‌گانه در پایتون

در سینتکس اول – عملگر سه‌گانه در پایتون – شرط و دستور‌العمل هر دو یک خط کد هستند. در پایین، سینتکس این روش را نوشته‌ایم.

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

  • در سینتکس بالا کلمه‌های کلیدی if  و else  ثابت هستند.
  • ابتدا شرط <conditional_expr>  بررسی می‌شود.
  • اگر این شرط برقرار بود دستور <expr1>  اجرا می‌شود.
  • در غیر این صورت دستور <expr2>  اجرا می‌شود.

ترتیب اجرای عبارت‌ها در این تکنیک کمی سردرگم کننده است. اول عبارت وسط ارزیابی می‌شود. سپس بر اساس درست یا غلط بودن آن یکی از دستورات دو طرف عبارت اجرا می‌شوند. در واقع با کمک این تکنیک، ساختار کد زیر را:

به کد زیر تبدیل می‌کنیم.

با هدف بررسی این ساختار نیز چند مثال برای دستور if در پایتون، نوشته‌ایم.

مثال شانزدهم بررسی مثبت و منفی بودن عدد

در کد پایین مقداری را به متغیر a  اختصاص داده‌ایم. سپس با کمک دستور شرط if  یک‌خطی، هم مثبت و منفی بودن عدد را بررسی کردیم و هم مقدار نتیجه را در متغیری به نام res  ذخیره می‌کنیم. در خط آخر، مقدار متغیر res  در خروجی چاپ شده است.

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

مثال هفدهم ساختن متن با کمک if یک‌خطی

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

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

Let's go to the beach
Let's go to the library
minor

نوشتن شرط‌ if به صورت یک‌خطی

برای نوشتن دستور if  یک خطی می‌توانیم از سینتکس زیر هم استفاده کنیم.

نکات مهم سینتکس بالا را در فهرست زیر نوشته‌ایم.

  • در این سینتکس کلمه کلیدی if  ثابت است.
  • <expr>  شرطی است که باید بررسی شود.
  • عبارت‌های <statement_1>  و <statement_2>  و غیره هم دستور‌هایی هستند که در صورت برقراری شرط باید اجرا بشوند.

توجه: در این ساختار اولویت اجرای عملگر سمی‌کالن ;  بالاتر از اولویت اجرای عملگر :  بعدا از <expr>  است. در اصلاح کامپیوتری گفته می‌شود که نقطه و ویرگول ارتباط محکمتری نسبت به دو نقطه با هم دارند. بنابراین تمام عبارت‌های بعد از دو نقطه در یک گروه دسته‌بندی می‌‌شوند. یعنی آنکه یا همه آن‌ها با هم اجرا می‌‌شوند. یا هیچ کدام از عبارت‌های <statement>  جرا نمی‌‌شوند.

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

مثال هجدهم اجرای چند دستور مختلف با کمک شرط یک‌ خطی

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

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

1
2
3

با توجه به خروجی بالا وقتی شرط برقرار بود، تمام عبارت‌های نوشته شده بعد از :  پشت سر هم اجرا شدند. اما وقتی شرط False  شد – در کد خط ۳ – هیچ کدام از این عبارت‌ها اجرا نشدند.

مثال نوزدهم پیاده‌سازی elif و else در یک خط

با استفاده از این تکنیک می‌توانیم بلوک‌های elif و else  را هم در خطوط جداگانه‌ای همراه با دستوراتشان بنویسیم.

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

qux
quux
corge
grault

جمع‌بندی

دستور if  ابزار اصلی برای پیاده‌سازی ساختارهای تصمیم‌گیری در برنامه نویسی است. استفاده از این ساختار، انعطاف‌پذیری برنامه‌ها را افزایش می‌دهد. این دستور در قالب‌های مختلفی مانند if  ساده، شرط‌های ترکیبی، if  تو در تو، if  یک‌خطی و if…else و if-elif استفاده می‌شود. در زمان نوشتن ساختار if  می‌توانیم از عملگرهای منطقی and  و or  و not برای تعریف شرایط پیچیده استفاده کنیم.

در این مطلب از مجله فرادرس ۱۹ مثال برای دستور if در پایتون ارائه شده‌اند. در این مثال‌ها روش‌های مختلف استفاده از if  را برای مقایسه اعداد، تحلیل داده‌ها و غیره بررسی کرده‌ایم. رعایت سینتکس و دندانه‌گذاری صحیح در پایتون برای اجرای درست شرط‌ها ضروری است. استفاده از if  به توسعه‌دهندگان کمک می‌کند تا برنامه‌هایی انعطاف‌‌پذیر، کارآمد و دقیق طراحی کنند.

source

توسط expressjs.ir