RosettaCodeData/Task/Zig-zag-matrix/Python/zig-zag-matrix-1.py

23 lines
501 B
Python
Raw Permalink Normal View History

2013-04-11 01:07:29 -07:00
def zigzag(n):
2019-09-12 10:33:56 -07:00
'''zigzag rows'''
def compare(xy):
x, y = xy
return (x + y, -y if (x + y) % 2 else y)
xs = range(n)
return {index: n for n, index in enumerate(sorted(
((x, y) for x in xs for y in xs),
key=compare
))}
2013-04-11 01:07:29 -07:00
def printzz(myarray):
2019-09-12 10:33:56 -07:00
'''show zigzag rows as lines'''
n = int(len(myarray) ** 0.5 + 0.5)
xs = range(n)
print('\n'.join(
[''.join("%3i" % myarray[(x, y)] for x in xs) for y in xs]
))
2013-04-11 01:07:29 -07:00
printzz(zigzag(6))