본문 바로가기
강의/점프투파이썬

[점프투파이썬] 2. 게시판 페이징하기

by 소꿍 2020. 3. 17.

2. A 씨는 게시판 프로그램을 작성하고 있다. 그런데 게시물의 총 건수와 한 페이지에 보여 줄 게시물 수를 입력으로 주었을 때 총 페이지 수를 출력하는 프로그램이 필요하다고 한다.

 

- 내 답안

 

함수 이름: getTotalPage

입력: 게시물의 총 건수(m), 한 페이지에 보여줄 게시물 수(n)

출력: 총 페이지수(p)

 

ex) m = 11건, n = 5건이라면, p =3

즉, p는 (m/2의 몫 + 1)이므로 몫을 구하는 연산자 // 사용하기

 

def getTotalPage(m, n):
    result = m // n + 1
    return result

print(getTotalPage(m, n))

 


 

- 해설

 

def getTotalPage(m, n):
    return m // n + 1

 

* result 값을 따로 설정하지 않고 바로 'return m // n + 1'로 써도 됨!

 

* 여기서 놓친 것

ex) m = 30, n = 10일 때, p는 3이어야 함

getTotalPage(30, 10)는 4를 출력하게 됨 --> 오류

 

m을 n으로 나눈 나머지 값이 0이 될 때 오류가 발생함

이를 방지하기 위해

def getTotalPage(m, n):
    if m % n == 0 :
        return m // n
    else:
        return m // n + 1
    
print(getTotalPage(330, 3))

 

예외가 있는 케이스를 생각하지 못했다. => 테스트의 필요성

댓글