پایتون

روز ۱۴: پروژه مدیریت لیست خرید در پایتون

بعد از یادگیری مفاهیم پایه‌ای مثل متغیرها، شرط‌ها، حلقه‌ها و توابع، اگر وارد فضای پروژه نشویم، خیلی از آموخته‌ها به‌سرعت فراموش می‌شوند. پروژه‌های کوچک دقیقاً همان نقطه‌ای هستند که مفاهیم تئوری به مهارت عملی تبدیل می‌شوند. پروژه مدیریت لیست خرید یک مثال ساده اما بسیار کاربردی است که تقریباً تمام مفاهیم یادگرفته‌شده تا اینجا را درگیر می‌کند. در این پروژه با ورودی گرفتن از کاربر، ذخیره داده‌ها در لیست، اعمال شرط‌ها، استفاده از حلقه‌ها و تعریف توابع سروکار داریم. همین ترکیب باعث می‌شود ذهن برنامه‌نویس به جای حفظ کردن سینتکس، روی حل مسئله و طراحی منطق تمرکز کند که این دقیقاً همان چیزی است که در پروژه‌های واقعی به آن نیاز داریم.

صورت مسئله پروژه مدیریت لیست خرید

در این پروژه قرار است یک برنامه ساده خط فرمانی بسازیم که به کاربر اجازه دهد آیتم‌هایی را به لیست خرید اضافه کند، آیتمی را حذف کند و در هر زمان لیست فعلی خرید را مشاهده کند. این برنامه قرار نیست پیچیده یا حرفه‌ای باشد، اما ساختار آن کاملاً شبیه برنامه‌های واقعی طراحی می‌شود. ما یک لیست اصلی داریم که داده‌ها در آن ذخیره می‌شوند و چند تابع که هر کدام مسئول انجام یک کار مشخص هستند. این تفکیک مسئولیت باعث می‌شود کد خواناتر، قابل توسعه‌تر و قابل تست‌تر باشد.

طراحی ساختار برنامه قبل از کدنویسی

قبل از نوشتن حتی یک خط کد، بهتر است بدانیم چه بخش‌هایی نیاز داریم. ما به یک لیست برای نگهداری اقلام خرید نیاز داریم، یک تابع برای افزودن آیتم جدید، یک تابع برای حذف آیتم و یک تابع برای نمایش لیست. علاوه بر این، یک حلقه اصلی داریم که منوی برنامه را نمایش می‌دهد و از کاربر انتخاب می‌گیرد. این مدل طراحی ساده، دقیقاً همان چیزی است که در پروژه‌های بزرگ‌تر هم با ابزارهای پیشرفته‌تر تکرار می‌شود. عادت به طراحی قبل از کدنویسی، یکی از تفاوت‌های مهم بین برنامه‌نویس مبتدی و حرفه‌ای است.

پیاده‌سازی تابع افزودن آیتم به لیست خرید

اولین بخش برنامه، افزودن آیتم جدید به لیست خرید است. این کار با گرفتن ورودی از کاربر و اضافه کردن آن به لیست انجام می‌شود. استفاده از تابع باعث می‌شود این منطق در صورت نیاز در جای دیگری هم قابل استفاده باشد. همچنین با این روش، کد اصلی برنامه شلوغ نمی‌شود و هر بخش مسئولیت مشخصی دارد.

shopping_list = []

def add_item():
    item = input("Enter item name: ")
    shopping_list.append(item)
    print(item, "added to shopping list.")

این تابع ساده اما کاملاً کاربردی است و دقیقاً همان کاری را انجام می‌دهد که در بسیاری از برنامه‌های واقعی رخ می‌دهد.

پیاده‌سازی تابع حذف آیتم از لیست

حذف آیتم از لیست نیاز به بررسی دارد، چون ممکن است کاربر نام آیتمی را وارد کند که وجود ندارد. اینجاست که شرط‌ها وارد بازی می‌شوند و منطق برنامه را امن‌تر می‌کنند. این نوع بررسی‌ها در پروژه‌های واقعی بسیار مهم هستند، چون ورودی کاربر همیشه قابل اعتماد نیست.

def remove_item():
    item = input("Enter item name to remove: ")
    if item in shopping_list:
        shopping_list.remove(item)
        print(item, "removed from shopping list.")
    else:
        print("Item not found in shopping list.")

در این تابع، ابتدا بررسی می‌کنیم که آیتم در لیست وجود دارد یا نه و سپس عملیات حذف انجام می‌شود.

نمایش لیست خرید با استفاده از حلقه

دیدن خروجی کار برای کاربر بسیار مهم است. تابع نمایش لیست خرید این امکان را می‌دهد که کاربر در هر زمان وضعیت فعلی لیست را مشاهده کند. اگر لیست خالی باشد، پیام مناسبی نمایش داده می‌شود تا تجربه کاربری بهتر شود. همین توجه به جزئیات کوچک، کیفیت برنامه را بالا می‌برد.

def show_list():
    if not shopping_list:
        print("Shopping list is empty.")
    else:
        print("Your shopping list:")
        for item in shopping_list:
            print("-", item)

این تابع از حلقه for برای نمایش آیتم‌ها استفاده می‌کند و کاملاً خوانا و ساده است.

حلقه اصلی برنامه و تعامل با کاربر

در نهایت، تمام این توابع در یک حلقه اصلی کنار هم قرار می‌گیرند. این حلقه برنامه را زنده نگه می‌دارد تا زمانی که کاربر تصمیم بگیرد از برنامه خارج شود. این الگو در بسیاری از برنامه‌های خط فرمانی دیده می‌شود و تمرین خوبی برای کنترل جریان برنامه است.

while True:
    print("1. Add item")
    print("2. Remove item")
    print("3. Show list")
    print("4. Exit")

    choice = input("Choose an option: ")

    if choice == "1":
        add_item()
    elif choice == "2":
        remove_item()
    elif choice == "3":
        show_list()
    elif choice == "4":
        print("Goodbye!")
        break
    else:
        print("Invalid choice.")

این بخش تمام اجزای برنامه را به هم متصل می‌کند و تجربه کامل یک پروژه کوچک را شکل می‌دهد.

جمع‌بندی روز چهاردهم آموزش پایتون

در روز چهاردهم، با یک پروژه کوچک اما کاملاً کاربردی، مفاهیم یادگرفته‌شده تا اینجا را به صورت عملی تمرین کردیم. پروژه مدیریت لیست خرید نشان داد که چگونه لیست‌ها، توابع، شرط‌ها و حلقه‌ها در کنار هم یک برنامه واقعی می‌سازند. این نوع پروژه‌ها بهترین راه برای تثبیت مفاهیم هستند و ذهن را برای پروژه‌های بزرگ‌تر آماده می‌کنند. اگر بتوانید چنین پروژه‌های کوچکی را بدون نگاه کردن به آموزش از صفر بنویسید، یعنی مسیر یادگیری پایتون را درست طی کرده‌اید و آماده ورود به مباحث پیشرفته‌تر هستید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دو × یک =

دکمه بازگشت به بالا