코딩 스쿨에 오신것을 환영합니다~~

질의응답 게시판

 
M-00017 문의 드립니다
평 * 무 | 2019-04-23

for i in range(len(seats)) :  
    for j in range(len(seats[i])) :  
        if seats[i][j] == 0 :  
            print('%3s' % '□', end='')  
        else :  
            print('%3s' % '■', end='')  

    print()  
==================== 

print함수에서 (%3s), (end='')  왜 하는지 이해가 안됩니다
상세 설명 부탁 합니다.

행복한 하루 되세요~

  • 관 * 자
  • 2019-04-23 (23:55)
1. %3s 
%3s는 문자열을 출력할 때 3자리로 출력하게 됩니다. print('%3s' % '□')는 전체 자리수가 세 자리이므로 □ 앞에 공백 2개가 생기게 합니다. 책 71쪽 예제와 표 2-3을 참고해주세요. 
2. end ='' 
파이썬에서 print() 함수를 이용하면 무조건 줄바꿈이 일어납니다. 줄바꿈을 하지 않고 옆으로 계속출력하기 위해서 키워드 end 를 사용하는 것입니다. end=','는 옆으로 찍을 때 그 끝에 콤마(,)를 찍고 다음 값을 출력하게 됩니다. end=''에서 사용된 ''는 NULL(널)이라고 부르며 값이 없는 상태를 의미합니다. 결론적으로 end=''는 그냥 옆으로 값들을 출력하라는 의미입니다. 
end에 대해서는 책 125쪽, NULL에 대해서는 69쪽을 참고해주세요. 감사합니다.^^