دوره آموزشی پایتون با ۱۵۰ چالش - قسمت اول - چالش های ۱ تا ۱۱

به نام خدا.سلام.خب بعد از معرفی دوره و همچنین راه اندازی نرم افزار IDLE نوبت به قسمت اول میرسه.بخش های این قسمت:توضیحکمثال هاچالش هاتوضیحکتو این قسمت با یه سری مطالب پایه ای آشنا میشیم که من خیلی خلاصه میگم که اصل یادگیری با خود شما و حل کردن چالش ها باشه. کم کم به این روش عادت میکنید و نتیجه میگیرید حتما. مفهوم Variable رو داریم که باهاش رو «چیزهای» مختلف «اسم» میزاریم.راجب Variable ها این مهمه که مقدار اونها در طول اجرای برنامه میتانه تغییر کنه.اسم Variable نباید با عدد یا سمبل ها شروع بشه.بقیه موارد تو مثال ها هستن.مثال هانکته مهم راجب مثال ها اینه که باید همه اینها رو تو اون قسمت Shell (مثل اون 4 + 4 که تو قسمت صفر توضیح دادم) خودتان بنویسید و امتحانشان کنید که بهتر یادبگیرید.مثال ۱ :num1 = 70 num2 = 30اینجا num1 و num2 دو تا variable هستن که مقدارشان هم به ترتیب شده 70 و 30مثال ۲ :answer = num1 + num2 answer = num1 - num2 answer = num1 * num2 answer = num1 / num2 answer = num1 // num2اینجا یه variable دیگه ساختیم به اسم answer و ضرب و تفریق و جمع و تقسیم varibale ها رو نشان دادیم. اون آخری بهش میگن whole division و به این معنیه که اگه جواب شد عدد اعشاری، این میاد قسمت صحیح عدد رو نگه میداره و قسمت اعشاریش رو حذف میکنه. مثلاً 2 / 5 میشه 2.5 ولی 2 // 5 میشه 2 !مثال ۳ :>>> print(&quotSalam Virgool&quot) Salam Virgoolاینجا print رو گفتیم که باهاش یه چیزی پرینت میشه رو صفحه. مثلا اگه تو همون قسمت Shell این کُد بالا رو بنویسید و Enter بزنید، به شما متن Salam Virgool رو نشان میده.مثال ۴ :>>> print(&quotSalam Vir\ngool&quot) Salam Vir goolبه «n\» میگن line break و اگه ازش وسط اون Salam Virgool استفاده کنیم، از اون قسمت به بعد رو مبیره به یه خط جدید!مثال ۵ :>>> javab = 20 >>> print(&quotJavabe soal mishe:&quot, javab) Javabe soal mishe: 20اگه از کد بالا استفاده کنیم، انگار که داریم به پایتون میگیم که یه قسمت متن رو خودم میگم و یه قسمتش رو هم خودت بگرد و مقدار اون variable که اسمش javab هست رو برام بیارش!اینجا ما تو همون قسمت Shell یه variable به اسم javab ساختیم و Enter میزنیم و بعدش هم که دستور print رو مینویسیم و Enter میزنیم.مثال ۶ :>>> username = input(&quotUsername ro vared konid: &quot) Username ro vared konid: Sohail >>> print(username) Sohailتا اینجا که همه چیزهایی که خواستیم رو خودمان ساختیم. اگه بخوایم از کسی که از برنامه ما استفاده میکنه (یعنی user) بخوایم یه مقداری رو وارد کنه باید چکار کنیم؟ از input استفاده میکنیم. (داخل پرانتز جلوی input اون پیامی رو مینویسیم که میخوایم user ببینه. یادتان باشه که پیام رو بین " " قرار بدید.)اینجا اول از user میخوایم که username خودش رو وارد کنه (یه space اضافی هم بعد از اون : زدیم فقط برای خوشگلی!) و بعد جوابی که میده تو یه variable به اسم username قرار میگیره. تو خط سوم معلوم میشه که مقدار username الان شده Sohail. (حواستان باشه input رو با print اشتباه نگیرید!)مثال ۷ :>>> tedadeBache = int(input(&quotChanta bache dari? &quot)) Chanta bache dari? 10 >>> print(tedadeBache) 10خب، تو خط اول چه خبره؟؟؟اگه از user بخوایم که یه «عدد» رو وارد کنه (به جای متن)، این نکته رو باید بدانیم که input به ما یه String میده (فعلا فرض کنید String یعنی متن و با عدد فرق داره). پس ما اگه بخوایم از اون عدد که user وارد کرده استفاده کنیم، باید اول اون String که وارد میکنه رو تبدیل کنیم به یه عدد.پس اینجا ما انگار آمدیم و جواب input رو دادیم به int. یعنی int جواب input رو میگیره و تبدیلش میکنه به یه عدد و در آخر هم که اون عدد تو یه variable به اسم tedadeBache قرار میگیره.اگر این کار رو نکنیم پایتون error میده!چالش هاخب، به قسمت جذاب کار رسیدیم! برای هفته اول ۱۱ تا چالش داریم که فکر میکنم برای یک هفته خیلی خوب باشه.منتها نکته مهم اینه که قسمت توضیحک و مثال ها رو کامل بخوانید و خودتان سعی کنید کد ها رو اجرا کنید و بعد از اینکه احساس کردید خوب فهمیدید، بیاید سراغ چالش ها.برای هر چالش یه فایل جدید بسازید (تو قسمت صفر توضیح دادم) و کد های مربوط به اون چالش رو تو اون فایل بنویسید و با F5 اجرا کنید.فقط یادتان باشه که هر آنچه که برای حل کردن چالش ها لازم دارید، تو قسمت توضیحک و مثال ها وجود داره!اگر هم چالشی رو نتانستید حل کنید اصلا نگران نباشید و نا امید نشید، من جواب چالش ها رو چند روز دیگه تو یه مقاله جدا منتشر میکنم که اگه بعد از فکر کردن نتانستید چالشی رو حل کنید، با نگاه کردن به جواب ها اون رو یاد بگیرید.چالش ۱ :از user بخواید که اسم کوچک خودش رو وارد کنه و بعد بصورت زیر بهش یه پیام بدید:Salam [esme kouchike user]چالش ۲ :از user بخواید که اسم کوچک خودش رو وارد کنه و بعد ازش بخواید نام خانوادگیش رو وارد کنه و بعد هم بصورت زیر بهش یه پیام بدید:Salam [esme kouchik] [name khanevadegi]چالش ۳ :فقط با استفاده از یک خط کد، برنامه ای بنویس که مثل زیر باشه وقتی اجرا میشه (حواست باشه، فقط یک خط!):Behtarin babaye donya kie? Babaye Enrique!چالش ۴ :از user بخواید که ۲ تا عدد وارد کنه. بعد اون ۲ تا عدد رو با هم جمع کنید و پیامی مثل پیام زیر بهش بدید:Jame in 2 ta adad mishe: [javab]چالش ۵ :از user بخواید که ۳ تا عدد وارد کنه. بعد ۲ تای اول رو با هم جمع کنید و در سومی ضرب کنید و پیامی مثل پیام زیر بهش بدید:Jame 2 taie aval zarb dar sevomi mishe: [javab]چالش ۶ :از user بپرسید که چند تکه پیتزا داشته و بعد ازش بپرسید چند تکه تا حالا خورده. بعد در غالب یه پیامی بهش بگید که چند تا تکه براش مانده. (البته خودش بهتر میدانه چند تا براش مانده، ما اینجا برای یادگیری از این کارهای عجیب هم میکنیم!)چالش ۷ :از user بخواید اسم و سنش رو وارد کنه، بعد یکی یه سنش اضافه کنید و پیامی مثل زیر بهش بدید. مثلاً اگه اسمش امیر و سنش ۱۸ باشه، مثل زیر میشه:Amir, sale bad mishe 19 salet.چالش ۸ :فرض کنید رفتید بیرون غذا بخورید با دوستان و میخواین ببینید هر نفر چقدر باید بده (هرکی پول خودش!).پس، از user بپرسید که کل قیمت غذا چقدر شده. بعدش بپرسید که چند نفر بودن کلا. بعد به مشتری بگید که هر نفر چقدر باید پول بده.چالش ۹ :یه برنامه بنویسید که از user یه تعداد روز میگیره و بهش میگه که تو اون تعداد روز چند ساعت و چند دقیقه و چند ثانیه وجود داره. مثلا اگه user به برنامه عدد ۲ رو بده، جوابی که برنامه شما به user میده شاید این شکلی باشه:Tedade rouz: 2 2 rouz yani 48 saat. 2 rouz yani 2880 daghighe. 2 rouz yani 172800 sanie.چالش ۱۰ :هر ۱ کیلوگرم میشه ۲.۲۰۴ پوند (۲ ممیز ۲۰۴ هزارم!). یه برنامه بنویسید که از user میخواد وزنش رو به کیلوگرم وارد کنه و بعد بهش میگه وزنش به پوند چقدر میشه.چالش ۱۱ :این چالش یکمی به فکر نیاز داره ولی اصلا چیز سختی نیست. هرچی که لازم دارید تو قسمت توضیحک و مثال ها وجود داره.از user بخواید که یه عدد بزرگتر از ۱۰۰ وارد کنه. بعد ازش بخواید یه عدد کوچکتر از ۱۰ (ده) وارد کنه. حالا بهش بگید که چند تا از اون کوچک تره رو میشه از دل اون بزرگ تره درآورد. مثلا اگه user اول عدد ۱۲۰ رو وارد کنه و بعد ۹، برنامه یه اینجور چیزی بهش میگه:Adade bozorgtar: 120 Adade kouchiktar: 9 Natije: Az tou dele adade 120 mishe 13 ta 9 daravord!یا علی.