اكتب كلاس باسم TaskManager يُدير المهام مع ميزات متقدمة.
المطلوب:
- يجب تطبيق الدوال التالية:
add_task(title, priority, tags): تُضيف مهمة جديدةcomplete_task(task_id): تُعلم مهمة كمكتملةget_tasks(filter_by): تُرجع المهام (all/pending/completed)search_by_tag(tag): تُرجع المهام التي تحتوي على وسم معينget_by_priority(priority): تُرجع المهام بأولوية معينةdelete_task(task_id): تحذف مهمة
- كل مهمة لها: id، title، priority، tags، status
مثال:
tm = TaskManager()
tm.add_task("Buy groceries", priority=1, tags=["shopping", "urgent"])
tm.add_task("Read book", priority=2, tags=["personal"])
tm.get_tasks("pending") # المهمتين
tm.search_by_tag("urgent") # "Buy groceries"
tm.complete_task(1)
tm.get_tasks("completed") # "Buy groceries"
ملاحظات:
- استخدم قاموس للمهام حيث المفتاح = task_id
- احفظ counter لتوليد IDs فريدة
- المهام يجب أن تُرجع كقوائم أو قواميس