-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path3-spiral.py
38 lines (30 loc) · 830 Bytes
/
3-spiral.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
def spiralize(size):
spiral = [[0]*size for i in range(size)]
# right, can solve size 1
for i in range(size):
spiral[0][i] = 1
# down, can solve size 2
if size >= 2:
for i in range(size):
spiral[i][size-1] = 1
# left, can solve size 3
if size >= 3:
for i in range(size):
spiral[size-1][i] = 1
# up, can solve size 4
if size >= 4:
for i in range(2, size):
spiral[i][0] = 1
if size >= 5:
# connection
spiral[2][1] = 1
# fill middle
center = spiralize(size-4)
for row in range(size-4):
for col in range(size-4):
spiral[row+2][col+2] = center[row][col]
return spiral
for i in range(11):
for part in spiralize(i):
print(part)
print()