Tehtäväsi on pitää yllä tehtävälistaa, johon voi lisätä tehtäviä. Jokaisella tehtävällä on nimi sekä prioriteetti, joka on kokonaisluku.
Tehtävälistalta voi hakea ja poistaa tehtävän, jonka prioriteetti on suurin. Jos suurimman prioriteetin tehtäviä on useita, niistä tulee valita aakkosjärjestyksessä ensimmäinen tehtävä.
Toteuta tiedostoon tasklist.py
luokka Tasks
, joka sisältää seuraavat metodit:
add_task(name, priority)
: lisää tehtävä listallefetch_task()
: hae ja poista suurimman prioriteetin tehtävä
Kummankin metodin tulee toimia tehokkaasti myös silloin, kun listalla on suuri määrä tehtäviä.
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