< Zpět na seznam úloh

A8 Číslované přihrádky

var names = ["seznam"]
var mainFunction = "rozdel"
var datasets = [
  {argv: [[]], out: [[], [], [], [], [], [], [], [], [], []]},
  {argv: [[3, 1, 2]], out: [[], [1], [2], [3], [], [], [], [], [], []]},
  {argv: [[13, 21, 32]], out: [[], [21], [32], [13], [], [], [], [], [], []]},
  {argv: [[64, 66, 3, 68, 36, 71, 57, 8, 74, 80, 84, 86, 87, 88, 57, 28, 29, 63]], out: [[80], [71], [], [3, 63], [64, 74, 84], [], [66, 36, 86], [57, 87, 57], [68, 8, 88, 28], [29]]},
]

Dostáváte seznam celých čísel a vaším úkolem je napsat funkci rozdel(seznam), která je rozdělí do přihrádek podle poslední číslice.

Funkce bude vracet seznam s 10 položkami, nezávisle na délce vstupu. Každá z těch položek je seznam, a v seznamu s indexem i mají být zapsaná čísla s číslicí i na místě jednotek. Vzájemné pořadí čísel v přihrádce má zůstat stejné jako ve vstupním seznamu.

Například rozdel([25, 30, 15, 4]) vrátí [[30], [], [], [], [4], [25, 15], [], [], [], []]: číslo 30 končí nulou, takže patří do přihrádky s indexem 0, číslo 4 do přihrádky 4 a čísla 25 a 15 do přihrádky 5, v tomhle pořadí.

Nápověda: Poslední číslici zjistíte jako zbytek po dělení deseti, tedy cislo % 10. Každá přihrádka je sama seznam, takže do ní můžete přidat prvek pomocí append, viz vnořené seznamy.

def rozdel(seznam):
  return [[], [], [], [], [], [], [], [], [], []]