Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def f(n):
- a = [[0 for c in range(n)] for r in range(n)]
- k = 1
- mode = 'right'
- r = 0
- c = 0
- while k <= n**2:
- a[r][c] = k
- if mode == 'right':
- c += 1
- if c == n or a[r][c] != 0:
- c -= 1
- r += 1
- mode = 'down'
- elif mode == 'down':
- r += 1
- if r == n or a[r][c] != 0:
- r -= 1
- c -= 1
- mode = 'left'
- elif mode == 'left':
- c -= 1
- if c < 0 or a[r][c] != 0:
- c += 1
- r -= 1
- mode = 'up'
- elif mode == 'up':
- r -= 1
- if r < 0 or a[r][c] != 0:
- r += 1
- c += 1
- mode = 'right'
- k += 1
- return a
- a = f(5)
- for x in a:
- print(x)
Add Comment
Please, Sign In to add comment