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:
potravina.co
udává, co je to zač apotravina.kdy
říká, kdy to bylo vyrobené.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:
"SYR"
vydrží 14 dnů od data výroby,"SALAM"
vydrží 30 dnů od data výroby,"OVOCE"
vydrží 42 dnů od data výroby.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