본문 바로가기
파이썬 알고리즘 코딩

게시판 페이징 level 1

by 볼록티 2020. 2. 26.
728x90
반응형

문제

A씨는 게시판 프로그램을 작성하고 있다.

A씨는 게시물의 총 건수와 한 페이지에 보여줄 게시물수를 입력으로 주었을 때 총 페이지수를 리턴하는 프로그램이 필요하다고 한다.

 

A씨가 필요한 프로그램을 작성하시오.

 

 

우선 입력으로 받는 것이 게시물이 총 몇개 인지! 그런다음 페이지 별로 최대 몇 개씩 보여 줄건지! 인데, 단순하게 생각해서 나눗셈이라고 생각한다. 딱 나누어 떨어지면 몫이 곧 페이지 수가 되고, 나머지가 조금이라도 있으면 몫 + 1을 하면 된다.

 

def page():
    while True:
        m = int(input('총 게시물 수 ?  , (m >=1)   '))
        if type(m) == type(1) and m >= 1:
            break
        else:
            print('다시 입력하세요.')
            continue
            
    while True:
        n = int(input('한 페이지에 보여줄 게시물 수 ? , (n >=1)     '))
        if type(n) == type(1) and n >= 1:
            break
        else:
            print('다시 입력하세요.')
            continue
    
    pages = 0
    if m%n == 0:
        print('pages = ',int(m/n))
    else:
        print('pages = ',int(m/n) +1)
        
    

 총 게시물 수와 한 페이지에 보여줄 게시물 수는 둘 다 정수로 1이상인 값을 받아야하기 때문에 잘못입력시 다시 입력하라는 메세지를 출력한다.

 

 m, n 입력이 잘되면 반복문이 끝나고, 나머지가 0이면 m을 n으로 나눈 값, 나머지가 1이상이면 m을 n으로 나눈 몫에 더하기 1을 해주어 출력한다.

 

 

출처: 코딩도장

728x90
반응형

댓글