로그인 바로가기 하위 메뉴 바로가기 본문 바로가기
난이도
입문

인공지능 기초 다지기 (부스트캠프 AI Tech 7기 프리코스)

임시 이미지 부스트코스
http://www.boostcourse.org/ai100/forum/128540
좋아요 2827 수강생 15970

class Notebook:
    def __init__(self, title):
        self.title = title
        self.page_number = 1    # page 미지정 시, 다음 page 저장을 위해 선언
        self.total_page = 1    # 전체 page 카운트하기 위해 선언
        self.notes = {}

    def add_note(self, note, page = 0):
        if self.total_page <= 300 and page <= 300:    # 전체 page 300 이하 조건

                                                                                         # page 지정 시, 300 page 이하만 지정할 수 있도록 조건
            if page == 0:
                self.notes[self.page_number] = note
                self.page_number += 1    # page 지정당 시, +1 하여 다음 page 저장
                self.total_page += 1          # 전체 page + 1
            else:
                self.notes[page] = note
                self.total_page += 1    # 전체 page + 1
        else:
            print("Page가 모두 채워졌습니다.")


논의 사항

1. page 지정 시, 300 page 이상 page는 못 쓰도록 조건 추가함. 

2. page 미지정 시, page_number 따로 저장.  page 지정과 따로 저장해야 바로 다음 page로 넘어갈 수 있음.

예를 들어, 이전 코드는

notebook_01.add_note(note_01)
notebook_01.add_note(note_02)
notebook_01.add_note(note_10, 10)
notebook_01.add_note(note_03)

이렇게 note_10과 같이 page 지정이 중간에 껴있으면, note_03가 page 3를 건너 띄고 page 4 로 지정되어 버림.

그러나 위 코드로 변경하면 미지정 note들이 건너띄는 부분 없이 앞에서부터 채워짐.