< Zpět na seznam úloh

A2 Černá skříňka

var names = ["prvni", "druhe"]
var mainFunction = "napodob"
var remapInput = `
def skrinka(a, b):
  return [b, a + b, a][(len(a) > len(b)) + (len(a) >= len(b))]
`
var datasets = [
  {argv: ["kolo", "kolotoc"], out: "kolotoc"},
  {argv: ["kolotoc", "kolo"], out: "kolotoc"},
  {argv: ["pes", "kocka"], out: "kocka"},
  {argv: ["sup", "los"], out: "suplos"},
  {custom: true},
]

Ve vašem prostředí je připravená funkce skrinka(a, b). Můžete ji volat, kolikrát chcete, ale nemůžete si ji přečíst: nikde neuvidíte, jak je napsaná. Jediné, co o ní víte, je to, co vám vrátí.

Úkol má tři kroky:

  1. Používejte ji. Zavolejte skříňku a dívejte se, co vrací. Zkoušejte i vlastní vstupy (testovací sada "Vlastní...").
  2. Popište ji. Napište česky do komentáře pravidlo, podle kterého se skříňka rozhoduje. Stačí jedna věta, ale musí být přesná: musí platit i pro vstupy, které v testovací sadě nejsou.
  3. Nahraďte ji. Napište funkci napodob(prvni, druhe), která se chová úplně stejně jako skříňka, ale už ji nevolá.

Odevzdáváte komentář i funkci. Samotné return skrinka(prvni, druhe) je správný první krok, ale není to řešení.

# Krok 2: sem napište pravidlo, podle kterého se skříňka rozhoduje.

def napodob(prvni, druhe):
  return skrinka(prvni, druhe)