Your task is to maintain a list of tasks supporting the addition of new tasks. Each task has a name and a priority, which is an integer.
The task list supports the retrieval and removal of the task with the highest priority. If multiple tasks have the same priority, the alphabetically first task should be chosen.
In a file tasklist.py
, implement the class Tasks
with the following methods:
add_task(name, priority)
: add a task to the listfetch_task()
: find and remove the highest priority task
Both methods should be efficient even when the list has a large number of tasks.
class Tasks: def __init__(self): # TODO def add_task(self, name, priority): # TODO def fetch_task(self): # TODO if __name__ == "__main__": tasks = Tasks() tasks.add_task("siivous", 20) tasks.add_task("koodaus", 90) tasks.add_task("treffit", 80) print(tasks.fetch_task()) # koodaus tasks.add_task("nukkuminen", 20) print(tasks.fetch_task()) # treffit print(tasks.fetch_task()) # nukkuminen