قبل از فایل و رابط، هستهٔ برنامه رو بساز. TaskManager با ترکیب، لیستی از Taskها داره. متد add عنوان رو پاکسازی کنه و فقط عنوان غیرخالی اضافه کنه. متد complete فقط اندیس صحیح در بازهٔ صفر تا طول منهای یک رو قبول کنه؛ اندیس منفی و خارج بازه رو نادیده بگیره. متد records لیستی از دیکشنریهای {"title": ..., "done": ...} به ترتیب کارها برگردونه.
نوع ورودیها از قبل مشخصه: عنوانها رشته هستن و اندیسها عدد صحیح. افزودن عنوان تکراری مجازه. دوباره انجامشده کردن یک کار باید همون وضعیت True رو نگه داره. هیچ چاپ، فایل یا Tkinter در این تمرین لازم نیست؛ منطق در مرورگر بررسی میشه.
فعالیت شما
بخش اصلی مدیریت کارها رو بساز: افزودن کار، ثبت انجامشدن و آماده کردن داده برای ذخیره.
مطالعهٔ این گام برای همه آزاد است
برای پاسخدادن، بررسی پاسخ، ثبت پیشرفت و استفاده از دستیار باید شرایط شرکت در فعالیتها را داشته باشید.
برای انجام فعالیت وارد شوید
فعالیتهای این بخش به اشتراک فعال نیاز دارند. تهیهٔ اشتراک
برای انجام فعالیتها ابتدا این دورههای پیشنیاز را تکمیل کنید:
کد اولیهٔ فعالیت
class Task:
def __init__(self, title, done=False):
self.title = title
self.done = done
class TaskManager:
def __init__(self):
self.tasks = []
def add(self, title):
# عنوان پاکسازیشدهٔ غیرخالی را به شکل Task ذخیره کن.
pass
def complete(self, index):
# اگر index معتبر بود، همان کار را انجامشده کن.
pass
def records(self):
# دادهٔ سادهٔ قابل ذخیره به JSON را برگردان.
pass
def run_actions(actions):
manager = TaskManager()
for action in actions:
if action[0] == "add":
manager.add(action[1])
elif action[0] == "complete":
manager.complete(action[1])
return manager.records()