이 글은 도서 '점프 투 파이썬'을 토대로 작성하였습니다.
게시물의 총 건수와 한 페이지에 보여 줄 게시물 수를 입력을 주었을 때 총 페이지 수를 출력하는 프로그램을 만들어보자.
| 게시물의 총 건수(m) | 페이지당 보여 줄 게시물 수(n) | 총 페이지 수 |
|---|---|---|
| 5 | 10 | 1 |
| 15 | 10 | 2 |
| 25 | 10 | 3 |
| 30 | 10 | 3 |
총 페이지 수 = (총 건수 / 한 페이지당 보여 줄 건수) + 1
def getTotalPage(m, n): return m // n + 1print(getTotalPage(5, 10)) # 1 출력 print(getTotalPage(15, 10)) # 2 출력 print(getTotalPage(25, 10)) # 3 출력 print(getTotalPage(30, 10)) # 4 출력
총 건수가 30이고 한 페이지에 보여 줄 건수가 10인데 4가 출력되어 실패했다.
계산 상으로 마지막 출력은 3이 되어야하는데 4가 출력되었다. 코드를 수정해보자.
def getTotalPage(m, n): if m % n == 0: return m // n else: return m // n + 1print(getTotalPage(5, 10)) # 1 출력 print(getTotalPage(15, 10)) # 2 출력 print(getTotalPage(25, 10)) # 3 출력 print(getTotalPage(30, 10)) # 3 출력
나누었을 때 나머지가 0인 경우는 나누기의 몫만 돌려주고 그 이외의 경우에는 1을 더하여 돌려주도록 변경하였다. 원하는 값이 출력되는 것을 확인할 수 있다.
간단한 페이징을 해보았다 하지만 실무에서는 훨씬 복잡한 페이징 기술이 사용된다.