برای ایجاد تسلط در توسعه نرمافزار، باید پروژه بسازید؛
نه یکی
نه دو تا
بلکه پروژههای بسیار زیاد.
ولی همچنین شما باید از جای درست شروع کنید.
اگر بهعنوان یک برنامهنویس مبتدی وارد هر پروژه تصادفی شوید، نهتنها احساس گمشدن خواهید کرد، بلکه حتی امکان دارد اگر برنامهنویسی برای شما مناسب است به شک بیافتید، بنابراین هوشمندانه کارکنید و از کم شروع کنید.
ابتدا اعتمادبهنفس خود را با یک پروژه کوچک بالا ببرید سپس یک پروژه کوچک دیگر و پس از چندین پروژه کوچک، به سراغ چیزهای بزرگتری بروید البته مهم است که بهاندازه سرعت یادگیری خود پیش بروید.
قبل از ساختن هر پروژهای، اصول آن را بیاموزید، چراکه اگر اصول را یاد نگیرید، بر پایهای متزلزل جلو خواهید رفت.
سطح مهارت شما برای حل پروژههای پایتون مهم نیست ولی قبل از شروع به انجام هر پروژه، به این دانستن این اصول اساسی احتیاج دارید.
شما باید بدانید که چگونه:
- متغیرها را ایجاد کنید
- ورودی کاربر را جمعآوری کنید
- ذخیره اطلاعات انجام دهید
- یک عمل را از طریق حلقهها تکرار کنید
- چگونه توابع برای تکرار بلوکهای را بنویسید
البته در پایتون چیزهای بیشتری برای یادگیری وجود دارد، اما این موارد استانداردی است که شما باید بدانید و بهاندازه کافی هستند تا بتوانید به پروژههای مبتدی بپردازید.
این احساس وسوسهانگیز وجود دارد که شما نیاز دارید بسیاری از آموزشهای پایتون را قبل از اینکه روی هر پروژهای کارکنید به پایان برسانید ولی اینگونه نباشید چراکه بسیاری در دام یادگیری پشت سر هم آموزشهای پایتون میافتند و منتظر احساس فوقالعاده آمادگی هستند؛ در عوض، ابتدا اصول را یاد بگیرید. بعد، چند پروژه کوچک بسازید. سپس با آموزشهای بیشتر به یادگیری برگردید.
به من اعتماد کنید، شما میتوانید ۱۰۰ آموزش پایتون را به پایان برسانید و هنوز هم احساس میکنید برای ساخت هیچ پروژهای آماده نیستید.
یادگیری بهتنهایی کافی نیست، شما باید پروژه بسازید و تمرین کنید.
و حالا پروژهها
نحوه استفاده از این پروژهها
ابتدا دستورالعملها را بخوانید و مطمئن شوید که مطالب خواندهشده را درک کردهاید. سعی کنید آنچه را که میخوانید با کلمات خود بگویید.
سعی کنید خودتان آن را حل کنید بدون اینکه از به سراغ آموزش YouTube یا کد مثال در GitHub بروید، بهاحتمال با این وسوسه زیاد مبارزه خواهید کرد، به خود فشار بیاورید. این ایده تمرین عمدی، روانشناسی رفتاری است.
اگر بههیچوجه پیشرفتی نکردهاید، آموزش YouTube را در صورت وجود تماشا کنید و کد مثال را مرور کنید، همچنین میتوانید بهصورت آنلاین جستجو کنید تا مثالهای دیگری از آموزش و کد پایتون را برای همین مشکل مشاهده کنید.
پس از دیدن آموزشها، به عقب برگردید و سعی کنید خودتان کد را بنویسید بدون اینکه به آموزش نگاه کنید و بازهم، خود را تحتفشار قرار دهید. این نیز از روانشناسی رفتاری است و شما به آن نیاز دارید.
هر کاری میکنید، کدهای کورکورانه را در آموزش کپی نکنید، چراکه نیاز دارید خود را بهسختی محک بزنید. با کپی کردن ممکن است بهسرعت پروژه را به پایان برسید اما درواقع شما چیزی یاد نگرفتهاید.
اگر احساس میکنید پس از تلاشهای زیاد کاملاً گیرکردهاید، کمی استراحت کنید. وقتی کمی به عقب میروید بر اساس علم روانشناسی میدانیم که ناخودآگاه شما یادگیری را ادامه خواهد داد. این به این دلیل است که ذهن شما از حالت متمرکز به حالت پراکنده تغییر کرده است.
هر وقت چیزی را حل کردید، برای آن جشن بگیرید! شما برای تثبیت کاری که انجام دادهاید به انرژی مثبت نیاز دارید. در آینده وقتی ذهن شما در یکلحظه تردید زمزمه میکند «آیا می تونم انجامش بدم؟»، پاسخ میدهید «بله من قبلاً انجامش دادم!»
مهمترین نکته: تکرار، تکرار، تکرار کنید.
همچنین میتوانید از این موارد برای هر پروژه فراتر از موارد ذکرشده در زیر استفاده کنید.
حالا بیایید سراغ پروژههای پایتون برویم.
در اینجا برخی از پروژههای مبتدی برای کار در اینجا آورده شده است:
- فرد یا زوج
- بازی Mad Libs
- تعداد کلمه
- اطلاعات بیوگرافی
- نام اختصاری من چیست؟
- سنگ کاغذ قیچی
- شماره را حدس بزنید
- آیا کلمه یک palindrome است؟
- ارزشافزوده را محاسبه کنید
- تشخیصدهنده نوع ایمیل
- مولد متن ترانه
فرد یا زوج
به یک کاربر خوشآمد گفته و سپس از او عددی بین ۱ تا ۱۰۰۰ بخواهید.
وقتی کاربر اعداد را به شما میدهد، فرد یا زوج بودن آن را بررسی میکنید و سپس پیامی را چاپ میکنید که به نتیجه را اطلاع میدهد.
مثال:
Prompt: What number are you thinking?
Input: 25
Output: That’s an odd number! Have another?
بازی lib libs
از کاربر ورودی بگیرید.
این ورودی میتواند هر چیزی مانند نام، صفت، ضمیر یا حتی عمل باشد. پس از دریافت ورودی، میتوانید آن را مرتب کرده و داستان خود را بسازید.
در اینجا یک آموزش یوتیوب در مورد lib libs در پایتون آورده شده است.
و کد مثال در GitHub.
تعداد کلمه
از کاربر پرسش اتفاقی که در ذهن دارد را بپرسید پس از پاسخ کاربر، تعداد کلمات جمله را بشمارید و آن را بهعنوان یک خروجی چاپ کنید.
مثال:
Prompt: what’s on your mind today?
Input: well, it’s just a day for me to be an expert in coding
Output: oh nice, you just told me what’s on your mind in 13 words!
برای اینکه این کار را یکقدم جلوتر ببرید، فایلی را که به شما تحویل دادهشده بازکنید، تعداد کلمات موجود را در آن حساب کنید، سپس آن را چاپ کنید.
در اینجا چند کد مثال در GitHub آورده شده است.
اطلاعات بیوگرافی
اطلاعات شخصی کاربر را بپرسید. سپس معتبر بودن اطلاعاتی را که وارد کردهاند بررسی کنید. در آخر، خلاصهای از تمام اطلاعاتی را که وارد کردهاند چاپ کنید.
مثال: نام شما چیست؟ (اگر کاربر اطلاعات غلط وارد کرد به او گفته شود که ورودی اشتباه است و از او بخواهید یک عنوان معتبر وارد کند.)
در پایان برنامه خلاصهای را بهصورت زیر چاپ کند:
– Name: John Doe
– Date of birth: Jan 1, 1954
– Address: 24 fifth Ave, NY
– Personal goals: To be the best programmer there ever was.
نام اختصاری من چیست؟
از کاربر بخواهید معنی کامل یک سازمان یا مفهوم را وارد کند و نام اختصاری آنها در اختیار کاربر قرار دهید. مثلاً:
ورودی -> As Soon As Possible. خروجی -> ASAP.
ورودی -> World Health Organization. خروجی -> WHO.
ورودی -> Absent Without Leave. خروجی -> AWOL.
سنگ کاغذ قیچی
اینیک بازی محبوب است که بین دو نفر انجام میشود. هر بازیکن با استفاده از دست خود یکی از سه شکل را تشکیل میدهد:
Rock (مشت بسته)
Paper (یکدست صاف)
Scissors (مشتی با انگشت اشاره و انگشت وسط کشیده، V را تشکیل میدهد)
در اینجا یک آموزش یوتیوب در مورد کد نویسی این بازی در پایتون وجود دارد.
شماره را حدس بزنید
شما از یک کاربر میخواهید عددی بین ۱ تا ۵۰ را حدس بزند.
اگر کاربر خارج از این محدوده حدس بزند، پیامی مبنی بر انتخاب عدد در رنج مناسب داده شود تا عدد درست وارد گردد و همچنین پرسیده شود که آیا میخواهد بازی خود را ادامه دهد یا مایل به ترک آن هست.
درنهایت، وقتی کاربر عدد مناسب را حدس زد، به او تبریک گفته و تعداد تلاشی را که انجام داده، نشان دهد.
در اینجا یک آموزش یوتیوب برای کد نویسی بازی حدس اعداد در پایتون وجود دارد.
آیا کلمه یک Palindrome است؟
از کاربر بخواهید پنج کلمه وارد کند سپس بررسی کنید که آیا هر یک از این پنج کلمه پالیندروم است.
Palindrome (کلمهای است که چه به جلو خوانده شود و چه به عقب ثابت باقی بماند، مانند درد یا کمک!)
مثال:
Madam پالیندروم است.
همچنین Malayalam.
ولی geek نیست.
در اینجا چند کد از GitHub آورده شده است.
ارزشافزوده را محاسبه کنید
هدف شما این است که بفهمید دقیقاً چه مقدار ارزشافزوده را باید پس از انجام خدمات محاسبه کنید و در این سناریو، کل وجه صورتحساب را ارائه دهید سپس ارزشافزوده را برای ۱۸٪، ۲۰٪ و ۲۵٪ نمایش دهید.
مثال:
Prompt: what’s the total bill for today, please?
Input: $55.87
Output: 18% tip is $10.06, which brings your total to $65.93
به یاد داشته باشید که میخواهید خوب باشید، بنابراین جمعکردن را فراموش نکنید. برای سختی بیشتر، از تعداد افراد بیشتر استفاده کنید و سپس ارزشافزوده و هزینه کل را بهطور مساوی بین آنها تقسیم کنید. برای رفتن حتی یکقدم جلوتر، نامساوی مبلغ را تقسیم کنید. (بهعنوانمثال، یک نفر ۷۰٪ قبض را پرداخت میکند درحالیکه شخص دیگر ۳۰٪ قبض را پرداخت میکند)
تشخیصدهنده نوع ایمیل
یک آدرس ایمیل از کاربر درخواست کنید و سپس دریابید که کاربر نام دامنه سفارشی دارد یا نام دامنه عمومی است. مثلاً:
Input: [email protected]
Output: Hey Mary, I see your email is registered with Google. That’s cool!
Input: [email protected]
Output: Hey Peter, looks like you’ve got your own custom setup at My Fantasy. Impressive!
اینیک پروژه مناسب پایتون است که در آینده کاربرد زیادی دارد. این برنامه به شما کمک میکند تا نام کاربری و نام دامنه را از طریق آدرس ایمیل دریافت کنید.
اگر میخواهید این کار را سختتر کنید، میتوانید برنامه را سفارشی کرده و با این اطلاعات به میزبان پیام ارسال کنید.
در اینجا یک آموزش یوتیوب و کد نمونه از GitHub آورده شده است.
مولد متن ترانه
از یک کاربر بخواهید از لیست ۱۰ آهنگ انتخاب کند. هنگامیکه کاربر این کار را انجام میدهد، متن آهنگ موردنظر را چاپ میکنید.
مثال:
Welcome, please select a select a song from this top 10 songs:
- Baby by Bieber
- Hotline Bling by Drake
- Flawless by Beyoncé
- Fall by Eminem…
You chose Flawless by Beyoncé. Here you go: ——- Flawless by Beyoncé ————I’m out that H, town coming coming downI’m coming down, dripping’ candy on the groundH, Town, Town, I’m coming down, coming downDripping’ candy on the ground… Press * to choose again.
برای محکمکاری، حداقل ۳ آهنگ از همان هنرمند داشته باشید.
در مرحله بعدی، از کاربر بخواهید نام هنرمند را قرار دهد تا بتوانید فقط گزینههای آن هنرمند را به او نشان دهید. سپس کاربر میتواند آهنگ خاصی را از آن لیست انتخاب کند.
در پایان
پایانی نیست، باکار بر روی این پروژهها، ممکن است بهجای سفت برخورد کنید و ناامید شوید ولی مطمئن باشید شما با تمرین از پس آن بر خواهید آمد.
به یاد داشته باشید، کمی استراحت کنید و بعداً برگردید.
توسعه نرمافزار یک زمینه چالشبرانگیز است؛ اما با موفقیتهای زیاد.
اگر افراد زیادی این کار را کردهاند، شما هم میتوانید این کار را انجام دهید.
موفق باشید.
این مقاله آموزشی، ترجمهای آزاد از اینجا بود.