def draw_line (size, side, x, y, spiral):
for i in range(size):
if side == 0:
spiral[x][y+i] = '*'
elif side == 1:
spiral[x+i][y+size] = '*'
elif side == 2:
spiral[x+size][y+i] = '*'
elif side == 3:
spiral[x+i][y] = '*'
def print_spiral(spiral, size):
for row in spiral:
print ''.join(row)
def spiral(size):
spiral = [[' ']*size for _ in xrange(size)]
currentsize = size
side = 0
x = 0
y = 0
while currentsize > 0:
draw_line(currentsize, side, x, y, spiral)
currentsize -= 1
side += 1
if side == 1:
x += 1
elif side == 2:
y += 1
elif side == 3:
x += 1
else:
side = 0
y += 1
print_spiral(spiral, size)