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))
예외가 있는 케이스를 생각하지 못했다. => 테스트의 필요성
'강의 > 점프투파이썬' 카테고리의 다른 글
[점프투파이썬] 5. 하위 디렉터리 검색하기(os.listdir/os.path.join/splitext/isdir/os.walk) (0) | 2020.03.17 |
---|---|
[점프투파이썬] 4. 문서에 있는 탭(tab)을 공백(space)으로 바꾸기(sys.argv/replace) (2) | 2020.03.17 |
[점프투파이썬] 3. 간단한 메모장 만들기(sys.argv) (0) | 2020.03.17 |
[점프투파이썬] 1. 3의 배수와 5의 배수의 총합 구하기 (0) | 2020.03.17 |
댓글