def f(x,y,n,ls):
if n == 3:
ls[x+1][y+1] = ' '
else:
t = n // 3
for i in range(x + t, x + 2 * t):
for j in range(y + t, y + 2 * t):
ls[i][j] = ' '
for i in range(0, n, t):
for j in range(0, n, t):
f(x + i, y + j, t, ls)
n=int(input())
ls=[]
for _ in range(n):
ls.append(['*']*n)
f(0,0,n,ls)
for i in range(n):
print(''.join(ls[i]))
range()에 시작 숫자, 종료 숫자를 넣고, 뒤에 step을 넣어줄 수 있는 것을 배웠습니다.
'구분 문자'.join(리스트)를 이용해 리스트 내부 요소들을 합쳐보았습니다.
이때 리스트의 구성 요소는 모두 문자여야 합니다.