< Zpět na seznam úloh

12 Klasifikace úkolů

names: ["x", "today"];
var datasets = [
  {argv:[{started: 176, deadline: 180, finished: 180}, 184], out: "DONE"},
  {argv:[{started: 120, deadline: 150, finished: -1}, 147], out: "PROGRESS"},
  {argv:[{started: 176, deadline: 180, finished: -1}, 184], out: "LATE"},
  {argv:[{started: 130, deadline: 150, finished: -1}, 148], out: "3_DAYS"},
  {argv:[{started: 130, deadline: 166, finished: 170}, 190], out: "DONE_LATE"},
  {argv:[{started: 130, deadline: 150, finished: -1}, 149], out: "3_DAYS"},
  {argv:[{started: 130, deadline: 150, finished: -1}, 150], out: "3_DAYS"},
]
var remapInput = `
from collections import namedtuple
Task = namedtuple('Task', ['started', 'deadline', 'finished'])
def remap(d, today):
  return Task(d['started'], d['deadline'], d['finished']), today
`
var remapPreview = (x, today) => `from collections import namedtuple
Task = namedtuple('Task', ['started', 'deadline', 'finished'])

started = ${x.started}
deadline = ${x.deadline}
finished = ${x.finished}
today = ${today}
main(Task(started, deadline, finished), today)
`

Funkce dostane úkol a dnešní datum a má ohodnotit, v jakém stavu zpracování ten úkol je. Úkol je nějaká hodnota x se třemi vlastnostmi:

Dnešní datum je číslo dne. Čísla dnů jsou libovolná nezáporná čísla, vyjadřují prostě počet dnů od nějakého pevně určeného data.

Program má vrátit jednu z následujících hodnot:

def main(x, today):
  if x.finished >= 0:
    if x.started < today:  # tahle podmínka platí vždycky, takže není moc užitečná
      return "DONE"
    return "GLITCH_IN_THE_MATRIX"
  return "PROGRESS"

Rady: