32 پروژه پایتون از مبتدی تا پیشرفته؛ با سورس کد و آموزش قدمبهقدم

🗓 آخرین بهروزرسانی:
بهترین راه یادگیری پایتون، ساختن پروژه است. خواندن آموزش و دیدن ویدیو لازم است، اما تا وقتی خودتان یک برنامه کامل را از صفر ننویسید، خطاهایش را رفع نکنید و نتیجه کار را نبینید، مفاهیم در ذهنتان تثبیت نمیشود. در این صفحه 32 پروژه پایتون را که در Dev Source بهصورت کامل و قدمبهقدم آموزش دادهایم، بر اساس سطح دستهبندی کردهایم: از بازی حدس عدد و ماشینحساب برای روزهای اول، تا برنامههای مدیریتی با ذخیرهسازی در فایل، بازیسازی با Pygame، کار با API و ساخت وبسایت با Flask. همه پروژهها کد تستشده و خروجی واقعی دارند و این فهرست با انتشار پروژههای جدید بهروز میشود.
چرا یادگیری پایتون با پروژه بهتر جواب میدهد؟
وقتی فقط آموزش میخوانید، هر مفهوم را جدا از بقیه یاد میگیرید: حلقه را در یک درس، دیکشنری را در درس دیگر. اما در یک پروژه واقعی باید تصمیم بگیرید کدام ابزار مناسب است و چطور قطعهها را کنار هم بچینید. همین تصمیمگیری است که شما را از «کسی که سینتکس بلد است» به «برنامهنویس» تبدیل میکند. پروژهها همچنین شما را با خطاهای واقعی روبهرو میکنند؛ خطاهایی که در مثالهای آموزشی کمتر پیش میآیند و رفع کردن آنها مهمترین مهارت روزمره یک برنامهنویس است. یک مزیت دیگر هم دارد: هر پروژه تمامشده، نمونهکاری است که میتوانید در گیتهاب و رزومهتان نشان دهید.
چه ابزارهایی برای شروع پروژه لازم دارید؟
برای همه پروژههای این فهرست فقط سه چیز لازم است: پایتون نسخه ۳ نصبشده روی سیستم، یک ویرایشگر کد مثل VS Code یا PyCharm و ترمینال برای اجرای برنامه. برای پروژههای مبتدی حتی به نصب هیچ کتابخانهای نیاز ندارید و همه چیز با کتابخانه استاندارد پایتون ساخته میشود. از سطح متوسط به بعد سراغ کتابخانههایی مثل pygame، requests، qrcode و flask میروید که با یک دستور pip نصب میشوند. اگر کامپیوتر در دسترس ندارید، بسیاری از پروژههای مبتدی را میتوانید روی گوشی هم اجرا کنید.
چطور پروژه مناسب خودتان را انتخاب کنید؟
بهترین پروژه، پروژهای است که کمی از سطح فعلی شما سختتر باشد؛ آنقدر ساده نباشد که چیزی یاد نگیرید و آنقدر سخت نباشد که وسط راه رهایش کنید. اگر آموزش یک پروژه را خواندید و بیشتر از نیمی از مفاهیمش برایتان ناآشنا بود، یک پروژه از سطح پایینتر انتخاب کنید. علاقه هم مهم است: اگر به بازی علاقه دارید، مسیر Pygame انگیزه بیشتری به شما میدهد و اگر دنبال کار هستید، پروژههای اتوماسیون و وب سریعتر به نتیجه میرسند. پروژهای را انتخاب کنید که خودتان یا اطرافیانتان واقعاً از آن استفاده کنید؛ برنامهای که هر روز با آن کار میکنید، خودبهخود ایدههای بهبود را به ذهنتان میآورد.
چطور از این فهرست استفاده کنیم؟
- سطح خودتان را صادقانه انتخاب کنید. اگر تازه شروع کردهاید، از بخش مبتدی و پروژه اول آن شروع کنید.
- قبل از دیدن کد کامل، صورت مسئله را بخوانید و ده تا بیست دقیقه خودتان تلاش کنید. حتی اگر به نتیجه نرسیدید، کد آموزش را خیلی بهتر میفهمید.
- کد را کپی نکنید؛ تایپ کنید. تایپ کردن باعث میشود به جزئیات دقت کنید.
- بعد از تمام شدن هر پروژه، دستکم یک قابلیت جدید به آن اضافه کنید. بیشتر آموزشها بخش «ایده برای توسعه» دارند.
- هر پروژه را در یک مخزن گیتهاب با یک فایل README ساده ذخیره کنید.
پروژههای پایتون سطح مبتدی (14 پروژه)
این پروژهها فقط به مبانی پایتون نیاز دارند: متغیرها، شرطها، حلقه for و while، لیستها و توابع. هر کدام را میتوانید در یک تا سه ساعت تمام کنید. ترتیب پیشنهادی همان ترتیب فهرست است.
1. ماشینحساب ساده
اولین پروژه کلاسیک هر برنامهنویس. با گرفتن ورودی از کاربر، تبدیل رشته به عدد، شرطهای if و elif و مدیریت تقسیم بر صفر کار میکنید. بعد از تمام کردنش میتوانید عملگرهای توان و باقیمانده را اضافه کنید یا آن را در یک حلقه قرار دهید تا تا زمان خروج کاربر کار کند. مشاهده آموزش کامل پروژه ماشینحساب ساده ←
2. بازی حدس عدد
برنامه یک عدد تصادفی انتخاب میکند و کاربر با راهنمایی «بزرگتر» و «کوچکتر» آن را حدس میزند. این پروژه حلقه while، ماژول random، شمارنده تلاشها و سطح سختی را تمرین میدهد و برای فهم منطق بازیها نقطه شروع عالی است. مشاهده آموزش کامل پروژه بازی حدس عدد ←
3. سنگ کاغذ قیچی
بازی در برابر کامپیوتر با امتیازدهی. اینجا یاد میگیرید قوانین بازی را بهجای دهها شرط تودرتو با یک دیکشنری تمیز پیاده کنید و ورودی نامعتبر کاربر را مدیریت کنید. مشاهده آموزش کامل پروژه سنگ کاغذ قیچی ←
4. تولیدکننده رمز عبور
ساخت رمزهای قوی و تصادفی با ماژول امن secrets بهجای random. با رشتههای string، انتخاب طول و نوع کاراکترها و تضمین وجود حرف بزرگ، عدد و نماد آشنا میشوید؛ پروژهای کوچک ولی واقعاً کاربردی. مشاهده آموزش کامل پروژه تولیدکننده رمز عبور ←
5. تبدیل واحد
تبدیل طول، وزن، دما، حجم و سرعت. نکته آموزشی اصلی این پروژه طراحی دادهمحور است: ضرایب تبدیل در دیکشنری نگه داشته میشوند تا افزودن واحد جدید فقط یک خط کد باشد. مشاهده آموزش کامل پروژه تبدیل واحد ←
6. محاسبه سن
محاسبه دقیق سن به سال، ماه و روز با ماژول datetime. با تاریخها، اختلاف زمانی و حالتهای خاص مثل روز تولد در ۲۹ فوریه کار میکنید. مشاهده آموزش کامل پروژه محاسبه سن ←
7. محاسبه BMI
دریافت قد و وزن، اعتبارسنجی ورودی با try و except و تحلیل نتیجه در بازههای استاندارد. پروژه مناسبی برای تمرین توابع و جدا کردن محاسبه از نمایش است. مشاهده آموزش کامل پروژه محاسبه BMI ←
8. آزمون چهارگزینهای
نگهداری سؤالها در لیستی از دیکشنریها، بُر زدن ترتیب، امتیازدهی و نمایش نتیجه نهایی. با کمی تغییر میتوانید سؤالها را از فایل JSON بخوانید. مشاهده آموزش کامل پروژه آزمون چهارگزینهای ←
9. شبیهساز تاس
پرتاب یک یا چند تاس و محاسبه آمار نتایج. علاوه بر random، با Counter و درصدگیری آشنا میشوید و میبینید با زیاد شدن تعداد پرتاب، توزیع چطور یکنواخت میشود. مشاهده آموزش کامل پروژه شبیهساز تاس ←
10. تشخیص عدد اول
پنج روش از ساده تا سریع برای تشخیص عدد اول، از جمله غربال اراتستن. این پروژه شما را با مفهوم بهینهسازی الگوریتم و مقایسه زمان اجرا آشنا میکند. مشاهده آموزش کامل پروژه تشخیص عدد اول ←
11. لیست کارها (Todo)
افزودن، حذف، تیک زدن و ذخیره کارها در فایل JSON. اولین تجربه شما از برنامهای که بعد از بسته شدن، دادههایش را فراموش نمیکند. مشاهده آموزش کامل پروژه لیست کارها (Todo) ←
12. بازی حدس کلمه (Hangman)
حدس حروف یک کلمه مخفی با تعداد جان محدود. کار با set برای حروف حدسزدهشده و ساختن رشته نمایشی، مهمترین مهارتهای این پروژه هستند. مشاهده آموزش کامل پروژه بازی حدس کلمه (Hangman) ←
13. بازی دوز (Tic-Tac-Toe)
بازی دو نفره روی صفحه ۳ در ۳ با تشخیص برد و مساوی. با لیستهای دوبعدی و بررسی سطر، ستون و قطر کار میکنید؛ گام بعدی منطقی، اضافه کردن حریف کامپیوتری است. مشاهده آموزش کامل پروژه بازی دوز (Tic-Tac-Toe) ←
14. ساخت QR کد
ساخت QR کد لینک، وایفای و کارت ویزیت، افزودن لوگو، خواندن QR از تصویر و ساخت گروهی از فایل CSV. پروژهای سریع با نتیجهای که همان لحظه با گوشی تست میشود. مشاهده آموزش کامل پروژه ساخت QR کد ←
پروژههای پایتون سطح متوسط (13 پروژه)
در این سطح برنامهها بزرگتر میشوند و دادهها باید ذخیره شوند. پیش از شروع با دیکشنریها، کار با فایل JSON، مدیریت خطا و کلاس و شیء آشنا شوید. اینجا یاد میگیرید کد را به توابع و کلاسهای منظم تقسیم کنید و برنامهای بنویسید که دیگران هم بتوانند از آن استفاده کنند.
15. مدیریت نمرات دانشآموزان
ثبت نمرات، محاسبه میانگین و رتبهبندی، با ذخیره در JSON. اینجا ساختار دادههای تودرتو و مرتبسازی با کلید سفارشی را تمرین میکنید. مشاهده آموزش کامل پروژه مدیریت نمرات دانشآموزان ←
16. مدیریت هزینههای شخصی
ثبت خرجها با دستهبندی و تاریخ و گرفتن گزارش ماهانه. پروژهای که خودتان هم واقعاً از آن استفاده خواهید کرد و برای اضافه کردن نمودار Matplotlib آماده است. مشاهده آموزش کامل پروژه مدیریت هزینههای شخصی ←
17. مدیریت کتابخانه
کتابها، اعضا و سیستم امانت و بازگشت. اولین پروژهای که چند نوع داده مرتبط را کنار هم مدیریت میکند و برای پیادهسازی شیءگرا عالی است. مشاهده آموزش کامل پروژه مدیریت کتابخانه ←
18. مدیریت موجودی فروشگاه
ورود و خروج کالا، هشدار موجودی کم و گزارش انبار. منطق تجاری واقعی را با پایتون پیاده میکنید. مشاهده آموزش کامل پروژه مدیریت موجودی فروشگاه ←
19. حضور و غیاب
ثبت حضور روزانه و گزارش درصد حضور هر نفر. کار با تاریخها و گروهبندی دادهها تمرین اصلی این پروژه است. مشاهده آموزش کامل پروژه حضور و غیاب ←
20. مدیریت مخاطبان
دفترچه تلفن کامل با جستوجو، ویرایش و ذخیره در JSON، با رویکرد شیءگرا و کلاسها. مشاهده آموزش کامل پروژه مدیریت مخاطبان ←
21. مدیریت رمزهای عبور
نگهداری رمزها بهصورت رمزنگاریشده با Fernet و یک رمز اصلی. پروژهای برای آشنایی جدی با امنیت و کتابخانه cryptography. مشاهده آموزش کامل پروژه مدیریت رمزهای عبور ←
22. مرتبسازی خودکار فایلها
پوشه دانلودهای شلوغ را بر اساس نوع فایل مرتب کنید. با Pathlib، جابهجایی امن فایلها و حالت آزمایشی (dry run) آشنا میشوید؛ اولین قدم شما در اتوماسیون. مشاهده آموزش کامل پروژه مرتبسازی خودکار فایلها ←
23. برنامه هواشناسی با API
گرفتن وضعیت هوای فعلی و پیشبینی چندروزه هر شهر از API رایگان Open-Meteo بدون نیاز به کلید. کار با requests، JSON، مدیریت خطای شبکه و تست کد وابسته به اینترنت را یاد میگیرید. مشاهده آموزش کامل پروژه برنامه هواشناسی با API ←
24. اولین بازی با Pygame
حلقه بازی، رسم شکلها، حرکت با کیبورد و تشخیص برخورد. ورود شما به بازیسازی گرافیکی با پایتون. مشاهده آموزش کامل پروژه اولین بازی با Pygame ←
25. بازی مار (Snake)
بازی کلاسیک مار با Pygame، با منطق جدا از نمایش که قابل تست است، امتیاز، Game Over و حالت دمو خودکار. گام بعد از اولین بازی Pygame. مشاهده آموزش کامل پروژه بازی مار (Snake) ←
26. رسم نمودار با Matplotlib
نمودار خطی، میلهای، دایرهای و هیستوگرام. دادههای پروژههای قبلی مثل هزینهها یا نمرات را به تصویر تبدیل کنید. مشاهده آموزش کامل پروژه رسم نمودار با Matplotlib ←
27. ۵۰ تمرین پایتون با جواب
اگر هنوز برای پروژه آماده نیستید یا میخواهید مهارت حل مسئله را تقویت کنید، این ۵۰ تمرین با جواب و خروجی اجرا پل خوبی بین آموزش و پروژه است. مشاهده آموزش کامل پروژه ۵۰ تمرین پایتون با جواب ←
پروژههای پایتون پیشرفته و کاربردی (5 پروژه)
پروژههای این بخش با دنیای بیرون از کامپیوتر شما ارتباط دارند: اینترنت، APIها، وبسایتها و پیامرسانها. به کار با کتابخانههای خارجی و نصب پکیج با pip نیاز دارید و بهتر است برای هر پروژه یک محیط مجازی بسازید. این پروژهها همان چیزهایی هستند که در آگهیهای استخدام پایتون دیده میشوند.
28. ربات تلگرام
ساخت ربات از BotFather تا پاسخ به پیامها و دکمهها. با برنامهنویسی رویدادمحور و کار با API آشنا میشوید. مشاهده آموزش کامل پروژه ربات تلگرام ←
29. رباتها و اتوماسیون
ساخت رباتهای کاربردی، خودکارسازی کارهای تکراری و کار با APIهای مختلف؛ مهارتی که مستقیماً در بازار کار ارزش دارد. مشاهده آموزش کامل پروژه رباتها و اتوماسیون ←
30. وب اسکرپینگ
استخراج داده از صفحات وب با requests و BeautifulSoup، ذخیره در CSV و رعایت اصول اسکرپینگ مسئولانه. مشاهده آموزش کامل پروژه وب اسکرپینگ ←
31. دانلودر یوتیوب با yt-dlp
دانلود ویدیو، صدا و پلیلیست با انتخاب کیفیت. پروژهای برای کار با کتابخانههای بزرگ و گزینههای پیشرفته آنها. مشاهده آموزش کامل پروژه دانلودر یوتیوب با yt-dlp ←
32. اولین وبسایت با Flask
مسیرها، قالبهای Jinja، فرمها و فایلهای استاتیک. ورود شما به دنیای توسعه وب با پایتون و پایه پروژههایی مثل وبلاگ و API. مشاهده آموزش کامل پروژه اولین وبسایت با Flask ←
پروژههایی که بهزودی اضافه میشوند
این فهرست مرتب بهروز میشود. پروژههای بعدی که در حال آمادهسازی هستند:
- تست سرعت تایپ در ترمینال
- تایمر معکوس و زنگ هشدار
- ماشینحساب گرافیکی با Tkinter
- مبدل ارز با API
- تغییر نام گروهی فایلها
- مبدل تاریخ شمسی و میلادی
- حلکننده سودوکو با بکترکینگ
- مدیریت هزینه با پایگاه داده SQLite
- ادغام و تقسیم فایل PDF
- تغییر اندازه گروهی تصاویر با Pillow
- تبدیل اسکریپت پایتون به فایل exe
مسیر پیشنهادی: از صفر تا پروژههای پیشرفته
اگر میخواهی این مسیر را با ثبت پیشرفت و گواهی پایان دنبال کنی، مسیر یادگیری پایتون از صفر درسها و پروژههای اصلی را در ۱۰ ماژول به ترتیب چیده است.
- هفته اول و دوم: ماشینحساب، حدس عدد، سنگ کاغذ قیچی و تولیدکننده رمز عبور.
- هفته سوم و چهارم: آزمون چهارگزینهای، Hangman، دوز و لیست کارها با JSON.
- ماه دوم: یکی از برنامههای مدیریتی (هزینه، نمرات یا کتابخانه) را کامل بسازید و بعد آن را با کلاسها بازنویسی کنید.
- ماه سوم: برنامه هواشناسی، اولین بازی Pygame و بازی مار.
- بعد از آن: بر اساس علاقهتان یک مسیر انتخاب کنید؛ ربات تلگرام و اتوماسیون، وب اسکرپینگ و داده، یا توسعه وب با Flask.
چطور پروژهها را به نمونهکار تبدیل کنیم؟
کارفرماها بیشتر از مدرک، به کدی که نوشتهاید نگاه میکنند. برای هر پروژه یک مخزن گیتهاب بسازید و در فایل README توضیح دهید برنامه چه کاری انجام میدهد، چطور اجرا میشود و چه کتابخانههایی لازم دارد. یک تصویر یا GIF کوتاه از اجرای برنامه هم اضافه کنید. فایل requirements.txt بگذارید تا دیگران بتوانند پروژه را راحت اجرا کنند. مهمتر از همه، پروژهها را شخصیسازی کنید: یک قابلیت که در آموزش نبود، نشان میدهد خودتان فکر کردهاید و صرفاً کد را کپی نکردهاید. سه یا چهار پروژه تمیز و کامل، از بیست پروژه نیمهکاره ارزشمندتر است.
اشتباهات رایج در پروژهنویسی
- شروع با پروژه خیلی بزرگ: ساختن اینستاگرام بهعنوان پروژه اول فقط ناامیدتان میکند. کوچک شروع کنید.
- کپی کردن کد بدون فهم: اگر نمیتوانید هر خط را توضیح دهید، هنوز آن را یاد نگرفتهاید.
- نادیده گرفتن ورودی نامعتبر: برنامه واقعی باید در برابر ورودی اشتباه کاربر کرش نکند.
- یک فایل هزارخطی: کد را به توابع کوچک با یک وظیفه مشخص تقسیم کنید.
- رها کردن پروژه در نیمه راه: نسخه سادهای که کار میکند بهتر از نسخه کاملی است که هیچوقت تمام نمیشود.
سوالات متداول
برای شروع پروژه پایتون چه چیزهایی باید بلد باشم؟
برای پروژههای مبتدی کافی است متغیر، ورودی و خروجی، شرط، حلقه، لیست و تابع را بلد باشید. برای سطح متوسط آشنایی با دیکشنری، فایل JSON و مدیریت خطا هم لازم است.
بهترین پروژه پایتون برای مبتدیها کدام است؟
بازی حدس عدد و ماشینحساب ساده بهترین نقطه شروع هستند، چون مفاهیم پایه را بدون پیچیدگی اضافه تمرین میدهند و در یک جلسه تمام میشوند.
هر پروژه چقدر زمان میبرد؟
پروژههای مبتدی معمولاً یک تا سه ساعت، پروژههای متوسط یک تا سه روز و پروژههای پیشرفته بسته به قابلیتهایی که اضافه میکنید چند روز تا چند هفته زمان میبرند.
آیا سورس کد پروژهها رایگان است؟
بله. کد کامل همه پروژهها داخل آموزشها قرار دارد و برای برخی پروژههای جدیدتر فایل ZIP سورس هم برای دانلود گذاشته شده است.
با این پروژهها میتوانم وارد بازار کار شوم؟
این پروژهها پایه لازم را میسازند. برای استخدام، چند پروژه سطح متوسط و پیشرفته را شخصیسازی کنید، در گیتهاب منتشر کنید و در یک حوزه مثل وب، داده یا اتوماسیون عمیقتر شوید.
پروژهها روی کدام نسخه پایتون تست شدهاند؟
کدها روی پایتون ۳ (نسخههای جدید) اجرا و تست شدهاند و با نسخه ۳.۱۰ به بعد بدون تغییر کار میکنند.
آموزشهای مرتبط
- آموزش پایتون از صفر
- ۵۰ تمرین پایتون با جواب
- ساخت بازی مار با پایتون
- برنامه هواشناسی با پایتون
- ساخت QR کد با پایتون