06 - 3 게시판 페이징 하 기 - 점프 투 파이썬 
 A 씨 는 게시판 프로그램 을 작성 하 고 있 다 . 그런데 게시물 의 총 건수 와 한 페이지 에 보여 줄 게 시물 수 를 입력 으로 주 었 을 때 총 페이지 수 를 출력 하 는 프로그램 이 필요 하 다고 한다 . 
 ( ※ 이렇게 게시판 의 페이지 수 를 보여 주 는 것 을 " 페이징 " 한다고 부른다 . ) 
 함수 이름 은 ? getTotalPage 
 입력 받 는 값 은 ? 게시물 의 총 건수 ( m ) , 한 페이지 에 보여 줄 게 시물 수 ( n ) 
 출력 하 는 값 은 ? 총 페이지 수 
 A 씨 가 필요 한 프로그램 을 만들 기 위해 입력 값 과 결과 값 이 어떻게 나와야 하 는지 먼저 살펴보 자 . 게시물 의 총 건수 가 5 이 고 한 페이지 에서 보여 줄 게 시물 수 가 10 이 면 총 페이지 수 는 당연히 1 이 된다 . 만약 게시물 의 총 건수 가 15 이 고 한 페이지 에서 보여 줄 게 시물 수 가 10 이 라면 총 페이지 수 는 2 가 될 것 이 다 . 
 게시물 의 총 건수 ( m ) 
 페이지 당 보여 줄 게 시물 수 ( n ) 
 이 문제 는 게시판 프로그램 을 만들 때 가장 처음 마주치 는 난관 이 라고 할 수 있 는 총 페이지 수 를 구하 는 문제 이 다 . 사실 실제 업무 에서 사용 하 는 페이징 기술 은 훨씬 복잡 한데 여기 에서 는 그 중 가장 간단 한 총 페이지 수 를 구하 는 방법 에 대해서 만 알아보 겠 다 . 
 1 . 다음 과 같이 총 건수 ( m ) 를 한 페이지 에 보여 줄 게 시물 수 ( n ) 로 나누 고 1 을 더 하 면 총 페이지 수 를 얻 을 수 있 다 . 
 2 . 이러 한 공식 을 적용 했 을 경우 총 페이지 수 가 표 의 값 처럼 구해 지 는지 확인 해 보 자 ( m 을 n 으로 나눌 때 소수점 아래 자리 를 버리 기 위해서 / 대신 / / 연산자 를 사용 하 였 다 ) . 
 def getTotalPage ( m , n ) : 
 return m / / n + 1 
 print ( getTotalPage ( 5 , 10 ) ) # 1 출력 
 print ( getTotalPage ( 15 , 10 ) ) # 2 출력 
 print ( getTotalPage ( 25 , 10 ) ) # 3 출력 
 print ( getTotalPage ( 30 , 10 ) ) # 4 출력 
 첫 번 째 , 두 번 째 , 세 번 째 케이스 는 공식 에 맞 게 결과 가 출력 된다 . 하지만 네 번 째 케이스 는 총 건수 가 30 이 고 한 페이지 에 보여 줄 건수 가 10 인데 4 가 출력 되 어 실패 해 버렸 다 . 잘 생각 해 보 자 . 총 건수 가 30 이 고 한 페이지 에 보여 줄 건수 가 10 이 라면 당연히 총 페이지 수 는 3 이 되 어야 한다 . 
 3 . 실패 케이스 는 총 게시물 수 와 한 페이지 에 보여 줄 게 시물 수 를 나눈 나머지 값 이 0 이 될 때 발생 함 을 유추 할 수 있 을 것 이 다 . 이 실패 케이스 를 해결 하 려면 다음 과 같이 코드 를 변경 해야 한다 . 
 return m / / n 
 print ( getTotalPage ( 5 , 10 ) ) 
 print ( getTotalPage ( 15 , 10 ) ) 
 print ( getTotalPage ( 25 , 10 ) ) 
 print ( getTotalPage ( 30 , 10 ) ) 
 나누 었 을 때 나머지 가 0 인 경우 는 나누 기 의 몫 만 리턴 하 고 그 이외 의 경우 에 는 1 을 더 하 여 리턴 하 도록 변경 했 다 . 
 프로그램 을 실행 해 보 면 모든 케이스 가 원 하 던 결과 를 출력 함 을 확인 할 수 있 다 . 
 마지막 편집 일시 : 2016 년 2 월 21 일 9 : 50 오후 
 이미 많이 익숙 해 지 신 듯 . 좋 은 예제 감사 합니다 . - 박응용 , 2008 년 2 월 16 일 3 : 52 오후 
 import locale 에 대해서 설명 좀 해 주 시 면 안 될까요 ? ?? - 보노보노 , 2010 년 12 월 23 일 1 : 10 오후 
 locale 에 대해서 는 조만간 파이썬 외장 함수 쪽 에 설명 을 추가 해 보 도록 하 겠 습니다 . - 박응용 , 2010 년 12 월 23 일 1 : 48 오후 
 안녕 하 세요 . 숫자 에 콤마 를 삽입 하 는 스크립트 짜 는 것 도 공부 에 도움 이 되 겠 지만 , 기본 라이브러리 를 이용 하 는 다음 과 같 은 방법 도 있 습니다 . >>> format ( 123456789 , ', d ') >>> ' 123 , 456 , 789 ' 팁 이 될까 하 여 . .. - space , 2014 년 6 월 26 일 8 : 08 오전 
 이전 글 : 06 - 2 3 과 5 의 배수 합 하 기 
 다음 글 : 06 - 4 간단 한 메모장 만들 기