شرط های if
تا حالا ما کنترل زیادی روی برنامه هامون نداشتیم.شرط های if یکی از معروفترین دستورهای قرار دادن شرط و شروط در تمام زبان های برنامه نویسیه.این دستورها رو بهشون روند کنترل هم میگن!چون اونها به ما امکانات و تنظیماتی رو برای داشتن کنترل بیشتر روی برنامه هامون میدن.
بیاین با یه مثال خیلی ساده شروع کنیم کارمونو...
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
خوب حالا بررسی نتیجه در صورت وارد شدن عدد های 150 و 50!:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
! خوب حالا بررسی کد ها:
در خط اول ما از مبحث گرفتن ورودی از کاربر که در درس قبلی مطرح شد استفاده کردیم و بعد در ادامه برای اجرای سریعتر برنامه!کد رو بصورت محاوره ای وارد کردیم....
توی خط دوم گفتیم که اگر عدد وارد شده مساوی یا بیشتر از صد بود(خط دوم) بنویس:این عدد بزرگی است(خط سوم)
و بعد در خط چهارم گفتیم که:در غیر اینصورت(اگر عدد مساوی یا بزرگتر از صد نبود!)بنویس:این عدد کوچیکیه!
خوب بنظر خیلی راحت میاد ولی برای کاربرانی که دارن از پایتون 3استفاده می کنن شکل دستور بهش یه خط اضافه میشه:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
خوب از اونجایی که نتیجه مشابه هستش به نوع و نمایش مثالی از نتیجه نمی پردازیم!فقط باید بگم که اون تیکه کدی که اضافه شد متغییر رو به عنوان عدد به پایتون می شناسونه در حالی که اگر اینجوری واردش نمی کردیم عدد چاپ نمی شد و اصلا نمی شه یه رشته رو با یه عدد مقایسه نمود!!!
خوب حالا فرض کنیم خواستیم از متغییر های دیگه یا بیشتری استفاده کنیم ایا این امکان داره؟
اره من در لیست زیر بقیه ی مقایسه گر ها رو براتون اوردم:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
خیلی خوب حالا می خوام که یه تمرین حرفه ای تر براتون بزارم که کارای محاسبه ای یه خورده پیچیده تری رو انجام میده:
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
!"
همونطوری که احتمالا هم تست کردید می بینید که این برنامه با تمام برنامه هایی که تاحالا نوشتید تفاوت داره و شاید اولین برنامه واقعیتون باشه!!!شما ابتدا به کاربر 3 انتخاب جمع زدن دو عدد یا پیدا کردن محیط و مساحت یه مربع یا مستطیل و همینطور خروج از برنامه رو می دید که کاربر در ابتدا با وارد کردن یکی از عدد های1 و 2 و 3 مشخص می کنه که می خواد کدوم کار رو انجام بده...
توی خط اول ما یه جور تیتر برای برناممون نوشتیم!
توی خط دوم گفتیم که بنویس:1.جمع زدن! و در خط سوم و چهارم گفتیم که بنویس:2.پیدا کردن مساحت و محیط یک مربع مستطیل یا یه 4ضلعی!...توی خط پنجم هم گفتیم که :3.فراموشش کن!!!!
در اینجا و در ابتدای کار به کاربر 3 انتخاب داده میشه که کاربر بعد از وارد کردن یکی از عدد های 1و2و3 کاری که می خواد بکنه رو مشخص می کنه....
تا ابنجا رو می تونستید با یه خورده خلاقیت انجام بدید و برید...!!!
اما از اینجا به بعده که کار این درسه و یه کم روش موشکافی دقیقتری انجام میشه...
در اونجایی که نوشته شده"
option = input("Please make a selection: ")"ما به برنامه یه متغییر به نام option می دیم که برابره با همون انتخاب کاربر...یعنی متغییر رو می سازیم خوب این هم مشکلی نداشت..
اونجایی که گفتیم"if option == 0:" ما یه شرط تعریف کردیم اونم اینه که اگر گزینه انتخابی کاربر،0 بود،از برنامه خارج بشو که البته بخشی که گفته از برنامه خارج بشو در بخش بعدی و با نام quit مشخص شده!!! در ادامه همین کد هم یه دستور نوشتیم که شما اگه اونو ننوشتید بازم مشکلی نیست....
اونجایی که گفتیم"elif option == 1:" (دستور elif مخفف همون if,else خودمونه که اومده ساده تر شده و برای شرط ها و حلقه های تو در تو ازش استفاده شده!)در این بخش به برنامه گفته شده که اگر انتخاب کاربر بود،1 به کاربر اجازه ی وارد کردن دو عدد رو بده و بعد مجمو ع اونها رو بهش بده!
اونجا که گفتیم"elif option == 2"گفته شده که اگه عدد انتخاب شده 2بود ،دو تا عدد بگیره و با اونحا محیط و مساحت یه 4ظلعی رو بگیره...
اخرین بخش هم گفته که اگه عدد وارد شده چیزی بجز این سه تا بود(1و2و3)بنویس:کد وارد شده صحیح نیست!
خوب دیدین که چقدر راحت بود؟فقط یه خورده حواس جمع می خواد که بتونین درست انجامش بدین....
تمرین:حالا می خوام برای تمرین یه برنامه بنویسید که کاربر رو به عنوان مهمان بشناسه و ازش رمز عبور بخواد! اگه رمز عبور درست بود که هیچی و برنامه رو بعد از نوشتن یه چیزی ببنده!و اگه رمز اشتباه بود به کاربر بگه که رمزش اشتباه بوده...