منطبق با جدیدترین نگارش - قسمت 14
آموزش رایگان پایتون (python)- آشنایی با دستور مرکب if…else
در شماره گذشته آموزش پایتون با نحوه دریافت ورودی از کاربر و اتخاذ تصمیمات آشنا شده و به شکل کلی دستور if را بررسی کردیم. در این قسمت با جزییات بیشتر این فرمان آشنا خواهیم شد.

1606683296_1_0.gif

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


انجام عملیات چندگانه

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

1.IDLE  را باز کرده و از منوی فایل گزینه New File را انتخاب کنید.

2. فرمان‌های زیر را درون پنجره شل بنویسید.

TestMe = 6

if TestMe == 6:

print("TestMe does equal 6!")

print("All done!")

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

3. برنامه فوق را با نامی دلخواه ذخیره کرده و از منوی Run گزینه Run Module را انتخاب کنید.

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

مقایسه چند عبارت با استفاده از عملگرهای منطقی

مثال‌هایی که تاکنون مشاهده کردید، همگی دارای یک عبارت بودند. در دنیای واقعی اغلب برای انجام کاری باید پارامترهای مختلفی را ارزیابی و مقایسه کنیم. برای آن‌که بتوانیم یک مقایسه چندگانه را انجام دهیم، باید از ترکیب عملگرهای رابطه‌ای و منطقی استفاده کنیم. یک عملگر منطقی نشان می‌دهد که عبارات چگونه باید با یکدیگر ترکیب شوند. به‌طور مثال، فرض کنید در یک برنامه به دنبال آن هستید که اگر x برابر با 6 و y برابر با 7  بود عملی انجام شود. (x==6 و y==7) در این حالت باید یک ارزیابی منطقی انجام شود و اگر مقدار بازگشتی هر دو مقدار برابر با مقدار درست بود آن‌گاه کارهایی انجام شود. در حالت عادی شما نمی‌توانید هم مقدار x و هم مقدار y را با یکدیگر مقایسه کنید، در نتیجه مجبور هستید از عملگرهای منطقی و رابطه‌ای استفاده کنید. چرا باید دو یا چند عبارت را در یک زمان با یکدیگر مقایسه کنیم؟ در برخی موارد شما مجبور هستید بررسی کنید که آیا مقداری درون یک محدوده خاص قرار دارد یا خیر، در این حالت باید از تکنیک مقایسه چندگانه استفاده کنید. بررسی محدوده یک مقدار به شما اجازه می‌دهد که مطمئن شوید آیا مقداری در یک بازه مشخص قرار دارد یا خیر. به‌طور مثال به دنبال آن هستید تا تراکنش‌های مالی که از ابتدا تا میانه یک ماه انجام شده‌اند را به دست آورید. در این حالت باید از یک فرآیند مقایسه چندگانه استفاده کنید. برای آن‌که ببینم یک فرآیند ارزیابی چندگانه چگونه انجام می‌شود به مثال زیر دقت کنید.

1.IDLE  را باز کرده و از منوی File گزینه New File را انتخاب کنید.

2. در پنجره شل پایتون فرمان زیر را نوشته و کلید اینتر را فشار دهید.

Value = int(input("Type a number between 1 and 10: "))

if (Value > 0) and (Value <= 10):

print("You typed: ", Value)

در مثال بالا در ابتدا از طریق فراخوانی فرمان input مقداری در بازه 1 تا 10 از کاربر دریافت می‌شود. (دقت کنید در این مرحله اگر کاربر یک مقدار رشته‌ای یا اعشاری وارد کند، برنامه با نمایش پیغام خطایی به کار خود پایان خواهد داد. در شماره‌های آتی به شما نشان خواهیم داد که چگونه می‌توانید یک چنین خطاهایی را مدیریت کرده و مانع بسته شدن غیرعادی برنامه شوید.) در مرحله بعد مقدار دریافتی از کاربر توسط تبدیل‌کننده int به یک مقدار صحیح تبدیل شده و درون متغیر Value قرار می‌گیرد. در دستور if دو شرط وجود دارد. در وضعیت اول ابتدا مقدار Value بررسی می‌شود که بزرگ‌تر از 0 باشد. دقت کنید به جای Value>0 از شرط Value>=1 نیز می‌توان استفاده کرد. در شرط دوم مقدار Value باید کوچک‌تر یا مساوی با 10 باشد. در دستور فوق اگر مقدار متغیر Value هر دو شرط را داشته باشد، خروجی فرمان if برابر با درست بوده و فرمان print اجرا خواهد شد.

3. فایل را ذخیره کرده و از منوی Run گزینه Run Module را انتخاب کنید. اکنون باید در پنجره اصلی پایتون مقداری که در محدوده 10 تا 10 قرار دارد را وارد کنید.

4. مقدار 5 را تایپ کرده و کلید اینتر را فشار دهید. برنامه متوجه می‌شود که عدد 5 در بازه فوق قرار داشته و در نتیجه فرمان print را چاپ می‌کند.

5. اکنون برنامه را دومرتبه اجرا کرده و این‌بار مقدار 22 را وارد کنید. مشاهده می‌کنید که برنامه هیچ چیزی در خروجی نشان نمی‌دهد، زیرا مقدار وارد شده در بازه‌ای که مشخص کردیم قرار ندارد.

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

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

فرمان اگر....... در غیر این ‌صورت...... (if….else)

بیشتر شرط‌هایی که در یک برنامه ارزیابی می‌شوند، همیشه پاسخ درست ندارند. به‌طور مثال در قطعه کد بالا اگر کاربر مقدار بیش‌تر از 10 را وارد کند برنامه هیچ‌کاری انجام نمی‌دهد، در حالی که باید چنین وضعیتی پیش‌بینی شود. یا به‌طور مثال زمانی که ارزیابی یک شرط برابر با مقدار اشتباه (false) بود، برنامه باید واکنش مناسبی به این مسئله نشان دهد. پایتون برای حل این مشکل راهکاری در اختیارتان قرار می‌دهد که اجازه می‌دهد دستور if را به شکل مرکب و همراه با بخش دومی به نام else استفاده کنید. ترکیب نحوی این فرمان مرکب به شرح زیر است:

If conditions:

       #statement 1

Else:

       #statement 2

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

Value = int(input("Type a number between 1 and 10: "))

if (Value > 0) and (Value <= 10):

    print("You typed: ", Value)

else:

   print("The value you typed is incorrect!")

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

3. از منوی Run گزینه run Module را انتخاب کنید. با این‌کار پیغامی نشان داده می‌شود که از شما درخواست می‌کند مقداری در بازه 1 تا 10 وارد کنید.

4. مقدار 5 را تایپ کرده و کلید اینتر را فشار دهید. خروجی برنامه همانند مثال قبل خواهد بود.

5. برنامه را دومرتبه اجرا کرده و این‌بار مقدار 22 را وارد کنید. مشاهده می‌کنید این مرتبه برنامه به شما اعلام می‌دارد مقدار وارد شده در بازه تعیین شده قرار ندارد.

در شماره آینده آموزش پایتون این مبحث را دنبال خواهیم کرد.

ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را می‌توانید از کتابخانه‌های عمومی سراسر کشور و نیز از دکه‌های روزنامه‌فروشی تهیه نمائید.

ثبت اشتراک نسخه کاغذی ماهنامه شبکه     
ثبت اشتراک نسخه آنلاین

 

کتاب الکترونیک +Network راهنمای شبکه‌ها

  • برای دانلود تنها کتاب کامل ترجمه فارسی +Network  اینجا  کلیک کنید.

کتاب الکترونیک دوره مقدماتی آموزش پایتون

  • اگر قصد یادگیری برنامه‌نویسی را دارید ولی هیچ پیش‌زمینه‌ای ندارید اینجا کلیک کنید.

ایسوس

نظر شما چیست؟