TIL - python(연습문제) #게시판 페이징하기

한성봉·2021년 4월 25일

이 글은 도서 '점프 투 파이썬'을 토대로 작성하였습니다.

게시판 페이징하기

게시물의 총 건수와 한 페이지에 보여 줄 게시물 수를 입력을 주었을 때 총 페이지 수를 출력하는 프로그램을 만들어보자.

게시물의 총 건수(m)페이지당 보여 줄 게시물 수(n)총 페이지 수
5101
15102
25103
30103

1. 수식으로 나타내기

총 페이지 수 = (총 건수 / 한 페이지당 보여 줄 건수) + 1

2. 값 확인

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가 출력되어 실패했다.
계산 상으로 마지막 출력은 3이 되어야하는데 4가 출력되었다. 코드를 수정해보자.

3. 코드 수정

def getTotalPage(m, n):
    if m % n == 0:
        return m // n
    else:
        return m // n + 1
print(getTotalPage(5, 10))  # 1 출력
print(getTotalPage(15, 10)) # 2 출력
print(getTotalPage(25, 10)) # 3 출력
print(getTotalPage(30, 10)) # 3 출력

나누었을 때 나머지가 0인 경우는 나누기의 몫만 돌려주고 그 이외의 경우에는 1을 더하여 돌려주도록 변경하였다. 원하는 값이 출력되는 것을 확인할 수 있다.

간단한 페이징을 해보았다 하지만 실무에서는 훨씬 복잡한 페이징 기술이 사용된다.

0개의 댓글