Дефинирайте функция zig_zag(n)
, която приема като единствен параметър цяло
число n
> 0 и връща като резултат квадратна матрица n
× n
, представена
като списък от списъци, която съдържа числата от 1 до n
², които я изпълват
зигзагообразно отгоре надолу, ето така:
────────┐
┌───────┘
└────────
Нечетните редове на матрицата съдържат числа, нарастващи отляво надясно, а
четните редове съдържат числа, нарастващи отдясно наляво. Пример за n
= 3 и
n
= 4:
zig_zag(3)
> [[1, 2, 3],
[6, 5, 4],
[7, 8, 9]]
zig_zag(4)
> [[1, 2, 3, 4 ],
[8, 7, 6, 5 ],
[9, 10, 11, 12],
[16, 15, 14, 13]]
Няма да получите некоректни данни, така че не се притеснявайте дали n
е
отрицателно число.
P.S. Видно от sample_spec-a zig_zag(1)
следва да връща [[1]]