به نام خدا.

سلام.
خب، بعد از قسمت اول نوبت به قسمت دوم میرسه.
اگه برای شما این قسمت خیلی خلاصه بود و فهمش سخت بود، نگران نشید. حتما با نگاه کردن به بخش مثال ها خواهید فهمید.
تو همه این مثال ها فرض میکنیم که اون num یه variable هست که مثلاً توسط user وارد شده یا اینکه از قبل تو کد داریمش!
if num > 10: print(“Az 10 bishtare.”) else: print(“Az 10 kamtare.”)
داریم سوال میپرسیم که اگه num از 10 بیشتر باشه و یا کمتر باشه، باید چکار کنیم.
if num > 10: print(“Bishtar az 10.”) elif num == 10: print(“Mosavi ba 10”) else: print(“Kamtar az 10”)
اینجا هم مثل قبلیه، با این تفاوت که از elif استفاده کردیم. یعنی انگار بعد از سوال اول یه سوال دیگه هم پرسیدیم. حواستان باشه که اول elif رو داریم و در آخر هم else. به زبان فارسی هم راجبش فکر کنیم خیلی ساده میشه فهمیدش:
یادتان باشه که میتانیم ۱۰ تا دیگه (یا هر چند تا) elif داشته باشیم قبل از else.
البته اینها به این معنی نیست که حتماً باید اینجور باشه. ممکنه فقط if باشه، یا فقط if و else باشه و یا اینکه همه باشن. ولی if و else همیشه یکی هستن. (مگر اینکه بیایم چند تا if زیر هم بنویسیم که مسخره میشه معمولاً).
if num >= 10: if num <= 20: print(“Adade ma beine 10 va 20 gharar dare.”) else: print(“Bishtar az 20.”) else: print(“Kamtar az 10.”)
خب، اینجا هم همونه ولی با این تفاوت که یه if رو گذاشتیم داخل یه if دیگه که به این کار میگن nest کردن if ها. حواستان باشه که کدام else مال کدام if هست (تشخیصش خیلی آسانه. اون if و else هایی که مربوط به هم هستن، تو یه indentation level قرار دارن، یعنی زیر هم تو یه خط عمودی هستن).
اگه کد رو بخوانید، بسیار فهمش سادست چون خیلی شبیه نحوه حرف زدن خود ماست.
اگه num بزرگتر یا مساوی 10 بود، اونوقت باید ببینیم آیا کوچک تر یا مساوی 20 هم هست یا نه. اگه بود میگیم که هست! و اگه نبود، میگیم که بیشتر از 20 شده.
آخر کار هم اون else آخری برای اینه که اگه num بزرگ تر یا مساوی 10 نبود، بنویسیم که زیر 10 شده.
پس داریم میبینیم که استفاده از if باعث میشه یه قسمت هایی از کد ما اجرا نشه یا بشه (بسته به نوع سوالی که میپرسیم).
>>> text = str.lower("SOhaIL") sohail
اینجا میخوایم یه function رو بشناسیم به اسم lower که یه متنی رو بهش میدی و تمام حروف اون متن رو تبدیل یه حروف کوچک انگلیسی میکنه و به ما میده. (فعلا راجب function ها این رو تو ذهن داشته باشید که چیزهایی هستن که شما یه چیزی بهشان میدید و اونها هم یه کاری میکنن و نتیجه رو به شما میدن. به موقع خودش راجب function ها هم حرف میزنیم).
تو این مثال هم ما متن "SOhaIL" رو به این function دادیم و اونم میاد به ما "sohail" رو میده و در آخر هم نتیجه کار این function توی یه variable به اسم text ذخیره شده.
فقط فعلاً حواستان باشه که اون str قبل از lower رو فراموش نکنید.
num = int(input(“Ye adad beine 10 va 20 vared konid: ”)) if num >= 10 and num <= 20: print(“Afarin bahoush.”) else: print(“Eshkal nadare, sakhte, mifahmam.”)
خب، اینجا میرسیم به اون and که گفتم برای ترکیب کردن condition ها استفاده میشه.
خلاصه کلام اینه که این and یه قانونی داره و اونم اینه که همه condition ها باید درست باشن تا کل قضیه هم درست باشه. (هیچ جوره هم کوتاه بیا نیست).
اینجا هم که سوال پرسیدیم که آیا این عددی که user وارد کرده هم کوچکتر مساوی 20 و هم بزرگتر مساوی 10 هست یا نه. چرا این کار رو کردیم؟ چون فقط اگه دو تای این condition ها درست باشن به این معنیه که یه عددی بین ۱۰ و ۲۰ قرار داره دیگه.
پس اینجا اگه حتی یکی از ۲ شرطی که جلوی if گذاشتیم درست نباشه، باعث میشه که کل اون شرطی که جلوی if هست اشتباه بشه.
یادتان باشه که جلوی if فقط یه شرط میتانه باشه و اینجا با استفاده از اون and آمدیم ۲ تا شرط رو ترکیب کردیم که بشه یک شرط.
num = int(input(“Ye adade ZOJ beine 1 va 5 vared konid: ”)) if num == 2 or num == 4: print(“Ahsant.”) else: print(“Enshala dafe bad.”)
اینجا هم از or استفاده کردیم.
فرق اساسی or با and اصلا از معنی فارسیشان هم معلومه. اینجا هم از or برای ترکیب کردن condition ها استفاده میشه، ولی با این تفاوت که برای or حتی یکی از اون شرط ها هم اگه درست باشه کافیه براش. (قناعت!).
اینجا سوال پرسیدیم که حالا چه ۲ باشه چه ۴ فرقی نداره، هرکدام باشه باز میشه یه عدد زوج بین ۱ تا ۵ دیگه.
خب، بازم رسیدیم به قسمت باحال قضیه، یعنی چالش ها.
بازم میگم، اگه نتانستید حل کنید، نگران نشید، با تمرین همه چی حل میشه به مرور زمان.
و طبق روال معمول، هر چیزی که برای حل کردن چالش ها لازم دارید تو این قسمت و قسمت قبلی وجود داره و چیزی جز اینها نداره.
از user بخواید ۲ تا عدد وارد کنه و بسته به اینکه کدام عدد بزرگتره، اونها رو به ترتیب نشان بدید (یعنی اول کوچک تره و بعد بزرگتره).
از user بخواید که یه عدد کوچک تر از ۲۰ وارد کنه. اگه اون چیزی که وارد کرده بزرگتر با مساوی ۲۰ بود، بهش بگید که زیادی وارد کرده. در غیر این صورت بهش بگید ممنون.
از user بخواید که یه عدد بین ۱۰ و ۲۰ وارد کنه. اگه درست وارد کرد بهش بگید ممنون و اگر درست وارد نکرد، بهش بگید که اشتباه وارد کرده.
از user بخواید که رنگ مورد علاقش رو وارد کنه. اگه چیزی که وارد کرده بود یا "ghermez" یا "GHERMEZ" و یا "Ghermez" بود، بهش بگید که من هم قرمز دوس دارم. در غیر اینصورت بهش بگید که شما اون رنگی که وارد کرده رو دوست ندارید و به قرمز علاقه دارید. (رنگی که user وارد کرده باید تو جوابی که بهش میدید باشه).
از user بپرسید که آیا داره باران میباره؟ اگه گفت آره، ازش بپرسید که باد هم داره میاد؟ اگه این رو هم گفت آره، بهش بگید عجب هوای بدی. در غیر این صورت (یعنی اگه باد نمیاد) بهش بگید که باخودت چتر ببر. و در آخر هم اگه جوابش به سوال اول «نه» بود، بهش بگید چه روز آفتابی قشنگی.
از user بخواید سن خودش رو وارد کنه و اگه بالای ۱۸ سالش بود یه پیام بش بدید و همینطور اگه دقیقا ۱۷ سالش بود یه چیز دیگه بش بگید و همینطور اگه دقیقا ۱۶ سالش بود یه چیز دیگه بش بگید و در آخر هم اگه زیر ۱۶ سالش بود یه پیام دیگه بهش بدید.
از user بخواید یه عدد وارد کنه. اگه از ۱۰ کمتر بود بهش بگید «خیلی کمه»، اگه بین ۱۰ و ۲۰ بود بهش بگید «ممنون» و در غیر این صورت بهش بگید «خیلی زیاده».
از user بخواید که از بین ۱ و ۲ و ۳ یک عدد رو وارد کنه و بابت وارد کردنِ هر عدد یه پیام بهش بدید. اگر هم به جز این اعداد چیز دیگه ای وارد کرد، بهش یه اخطار بدید.
یا علی.