< Zpět na seznam úloh

18 Rozzipovaný seznam

var datasets = [
  {arg: [1], out: [1]},
  {arg: [1,2,3,4,5], out: [1,3,5,2,4]},
  {arg: ['alena', 'bart', 'cyril', 'david', 'emil'], out: ['alena', 'cyril', 'emil', 'bart', 'david']},
  {arg: [], out: []},
]
var names = ['seznam'];

Program dostává libovolně dlouhý seznam libovolných hodnot. Má vrátit nejdřív ty na lichých pozicích, a za nimi ty na sudých pozicích. Liché a sudé tady je míněno lidsky, ne programátorsky, takže hodnota na úplném začátku vstupního seznamu se objeví úplně na začátku výstupu.

def main(seznam):
  liche = []
  for x in seznam:
    liche.append(x)
  return liche

Rada: sečtením dvou seznamů a + b vznikne seznam, který obsahuje nejdřív všechno z a a potom všechno z b.

Rada pro zvědavé: můžete se podívat, jak funguje indexování seznam[i:j:k]. Ale jde to i bez něj.