파이썬에서 배열 출력 관련 질문합니다
조회수 3429회
제가 3x3마방진을 짜는 소스코드를 작성하였습니다. 그런데 출력결과가 []를 포함한 식으로 나오게 됩니다.
8 1 6
3 5 7
4 9 2
어떻게하면 이러한 형식으로 출력이 될가요?
def Printsquare(m):
if m%2!=0:
Magic =[[0 for i in range(m)] for j in range(m)]
r=0;
c=m/2;
for i in range(1,m*m+1):
Magic[r][c]= i
br = r+1
bc = c+1
r=(r+m-1)%m
c=(c+1)%m
if Magic[r][c]!=0:
r=br
c=bc-1
for row in Magic:
print row
Printsquare(3)
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
"\t".join([str(num) for num in row])
를 이용하시면 되겠네요.def Printsquare(m): if m%2!=0: Magic =[[0 for i in range(m)] for j in range(m)] r=0; c=m/2; for i in range(1,m*m+1): Magic[r][c]= i br = r+1 bc = c+1 r=(r+m-1)%m c=(c+1)%m if Magic[r][c]!=0: r=br c=bc-1 for row in Magic: print("\t".join([str(num) for num in row])) Printsquare(3)
join과 관련된 자세한 내용은 다음 링크를 참고하세요. http://tryhelloworld.co.kr/courses/파이썬-입문/lessons/list와-문자열
댓글 입력