
روز ۲۱ آموزش پایتون: پروژه مدیریت دفترچه یادداشت متنی
در این روز از آموزش پایتون وارد یکی از مهمترین بخشهای یادگیری میشویم؛ جایی که دانستههای قبلی را در قالب یک پروژه واقعی پیادهسازی میکنیم. پروژه مدیریت دفترچه یادداشت متنی نمونهای بسیار نزدیک به کاربردهای واقعی پایتون است و به ما نشان میدهد چگونه میتوان با استفاده از فایلها، ورودی کاربر و منطق برنامهنویسی یک ابزار کاربردی ساخت. در این پروژه یاد میگیریم چگونه یادداشتها را ذخیره کنیم، آنها را بخوانیم و در صورت نیاز حذف کنیم، بدون اینکه سراغ دیتابیس یا کتابخانههای پیچیده برویم.
هدف از این پروژه تنها نوشتن چند خط کد نیست، بلکه درک ساختار یک برنامه کامل است. بسیاری از برنامههای واقعی دقیقاً از همین الگو استفاده میکنند؛ گرفتن ورودی از کاربر، پردازش اطلاعات و ذخیره آنها برای استفاده در آینده. دفترچه یادداشت متنی به ما کمک میکند مفهوم ماندگاری دادهها را بهخوبی درک کنیم و بفهمیم چرا کار با فایلها یکی از مهارتهای حیاتی در پایتون محسوب میشود. این پروژه برای رزومه هم ایده خوبی است چون نشان میدهد توانایی ساخت برنامه عملی را داری.
طراحی کلی برنامه دفترچه یادداشت
قبل از نوشتن کد باید بدانیم برنامه قرار است چه کاری انجام دهد. برنامه ما یک منوی ساده دارد که به کاربر اجازه میدهد بین گزینههای مختلف انتخاب کند. این گزینهها شامل افزودن یادداشت جدید، نمایش یادداشتها، حذف یک یادداشت خاص و خروج از برنامه هستند. استفاده از منو باعث میشود برنامه قابل استفاده و قابل توسعه باشد. همچنین با استفاده از یک حلقه بینهایت میتوانیم برنامه را تا زمانی که کاربر تصمیم به خروج بگیرد فعال نگه داریم.
در این پروژه از یک فایل متنی ساده برای ذخیره یادداشتها استفاده میکنیم. هر یادداشت در یک خط جداگانه ذخیره میشود تا خواندن و حذف آن راحتتر باشد. این تصمیم طراحی باعث میشود کد سادهتر و قابل فهمتر شود، مخصوصاً برای افرادی که در ابتدای مسیر یادگیری پایتون هستند. همین سادگی یکی از دلایل محبوبیت پایتون در پروژههای آموزشی است.
ذخیره یادداشت جدید در فایل متنی
اولین قابلیت برنامه، افزودن یادداشت جدید است. برای این کار از تابع open با حالت a استفاده میکنیم تا متن جدید به انتهای فایل اضافه شود. این روش باعث میشود یادداشتهای قبلی پاک نشوند و هر یادداشت جدید بهصورت جداگانه ذخیره شود. همچنین بهتر است بعد از ذخیره یادداشت، یک پیام مناسب به کاربر نمایش داده شود تا بداند عملیات با موفقیت انجام شده است.
نمونه کد ذخیره یادداشت:
note = input("یادداشت خود را وارد کنید: ")
with open("notes.txt", "a", encoding="utf-8") as file:
file.write(note + "\n")
print("یادداشت با موفقیت ذخیره شد")این کد بسیار ساده اما کاملاً کاربردی است. استفاده از with باعث میشود فایل بهصورت خودکار بسته شود و از بروز خطاهای رایج جلوگیری شود. این دقیقاً همان الگویی است که در پروژههای حرفهای هم استفاده میشود.
خواندن و نمایش یادداشتها
قابلیت دوم برنامه، نمایش یادداشتهای ذخیرهشده است. برای این کار فایل را در حالت r باز میکنیم و محتوای آن را خطبهخط میخوانیم. بهتر است یادداشتها را با شماره نمایش دهیم تا در مرحله حذف، کاربر بتواند راحتتر یادداشت مورد نظر را انتخاب کند. این کار تجربه کاربری برنامه را بسیار بهتر میکند.
نمونه کد خواندن یادداشتها:
with open("notes.txt", "r", encoding="utf-8") as file:
notes = file.readlines()
if not notes:
print("هیچ یادداشتی وجود ندارد")
else:
for index, note in enumerate(notes, start=1):
print(f"{index}. {note.strip()}")در این بخش از enumerate استفاده شده تا شمارهگذاری یادداشتها بهصورت خودکار انجام شود. متد strip هم برای حذف فاصلهها و خط جدید اضافی استفاده میشود تا خروجی تمیز و خوانا باشد.
حذف یادداشت از فایل
حذف یادداشت کمی چالشبرانگیزتر است، چون فایل متنی بهصورت مستقیم امکان حذف یک خط خاص را ندارد. راهحل استاندارد این است که ابتدا همه یادداشتها را بخوانیم، یادداشت مورد نظر را حذف کنیم و سپس فایل را دوباره بازنویسی کنیم. این روش در پروژههای واقعی هم بسیار رایج است و یادگیری آن اهمیت زیادی دارد.
نمونه کد حذف یادداشت:
with open("notes.txt", "r", encoding="utf-8") as file:
notes = file.readlines()
for index, note in enumerate(notes, start=1):
print(f"{index}. {note.strip()}")
number = int(input("شماره یادداشت برای حذف: "))
if 1 <= number <= len(notes):
del notes[number - 1]
with open("notes.txt", "w", encoding="utf-8") as file:
file.writelines(notes)
print("یادداشت با موفقیت حذف شد")
else:
print("شماره وارد شده معتبر نیست")این کد نشان میدهد چگونه میتوان با ترکیب لیستها و فایلها یک قابلیت کاربردی ایجاد کرد. چنین الگویی پایه بسیاری از سیستمهای مدیریت داده ساده است.
جمعبندی پروژه دفترچه یادداشت متنی
پروژه مدیریت دفترچه یادداشت متنی یک تمرین بسیار مهم در مسیر یادگیری پایتون است. در این پروژه با مفاهیمی مانند خواندن و نوشتن فایل، حلقهها، شرطها، ورودی کاربر و ساختار کلی برنامه آشنا شدیم. این پروژه نشان میدهد که حتی با دانش پایه پایتون هم میتوان برنامههایی نوشت که واقعاً کاربردی باشند. اگر این پروژه را بهخوبی درک کنی، آماده ورود به پروژههای پیچیدهتر خواهی بود.
پیشنهاد میشود بعد از اتمام این پروژه، قابلیتهایی مثل ویرایش یادداشت، جستجو در یادداشتها یا ذخیره تاریخ ایجاد یادداشت را اضافه کنی. این کار باعث میشود هم مهارتت بیشتر شود و هم درک عمیقتری از پایتون به دست بیاوری. دقیقاً همین تمرینها هستند که یک برنامهنویس معمولی را به یک برنامهنویس حرفهای تبدیل میکنند.
