< Zpět na seznam úloh

11 Lednička

names: ["x", "today"];
var datasets = [
  {argv:[{co: "SYR", kdy: 37}, 50], out: true},
  {argv:[{co: "SALAM", kdy: 76}, 106], out: false},
  {argv:[{co: "OVOCE", kdy: 37}, 37], out: true},
  {argv:[{co: "OVOCE", kdy: 37}, 79], out: false},
]
var remapInput = `
from collections import namedtuple
Potravina = namedtuple('Potravina', ['co', 'kdy'])
def remap(d, dnes):
  return Potravina(d['co'], d['kdy']), dnes
`
var remapPreview = (x, dnes) => `from collections import namedtuple
Potravina = namedtuple('Potravina', ['co', 'kdy'])

co = ${x.co}
kdy = ${x.kdy}
main(Potravina(co, kdy), ${dnes})
`

V ledničce máme sýry, salámy a ovoce s různým datem spotřeby. Úkolem programu je každou takovou pochutinu posoudit, zda je ještě vhodná ke konzumaci.

Potravina je předaná jako jeden parametr se dvěma vlastnostmi:

Jako druhý parametr program dostává dnešní datum. Datum výroby i dnešní datum je udané jako číslo dne od začátku roku, aby se s tím snadno počítalo.

Pro zjednodušení může potravina.co nabývat jen tří různých hodnot, a každá z nich jednoznačně udává trvanlivost:

Program má vracet hodnotu True, když je pochutina ještě ve lhůtě trvanlivosti, a False, když je starší.

def main(potravina, dnes):
  if potravina.kdy > dnes:
    return "GLITCH_IN_THE_MATRIX"
  return True