본문 바로가기
개발

파이썬으로 간단한 도서 관리 시스템 만들기

by new-fp 2024. 11. 12.
728x90
반응형

파이썬으로 만드는 간단한 도서 관리 시스템

안녕하세요, 오늘은 파이썬을 활용하여 간단한 도서 관리 시스템을 만들어 보는 시간을 가져보겠습니다. 이 과정을 통해 여러분은 책 목록을 추가하고, 조회하고 삭제할 수 있는 프로그램을 만들어 볼 텐데요. 간단한 프로젝트지만, 이로 인해 많은 배움을 얻을 수 있습니다. 자, 그럼 시작해볼까요?

들어가며

도서 관리 시스템은 개인의 책장을 관리하거나 작은 도서관을 운영하는 데 유용합니다. 여러분이 좋아하는 책들을 기록하고, 친구와의 목록 공유를 통해 독서 생활을 풍부하게 만들겠죠. 어쩌면 앞으로 더 발전된 프로젝트로 확장할 가능성이 무궁무진합니다.

코드 작성하기

지금부터 파이썬으로 기본적인 도서 관리 시스템을 작성해보겠습니다. 아래 코드를 보세요.

books = []  # 도서 목록 초기화

def add_book(book_name):
    books.append(book_name)  # 새로운 책 추가
    print(f"'{book_name}'이(가) 목록에 추가되었습니다.")

def list_books():
    if not books:
        print("도서 목록이 비어 있습니다.")
    else:
        print("도서 목록:")
        for index, book in enumerate(books, start=1):
            print(f"{index}. {book}")

def remove_book(book_name):
    if book_name in books:
        books.remove(book_name)  # 책 삭제
        print(f"'{book_name}'이(가) 목록에서 삭제되었습니다.")
    else:
        print(f"'{book_name}'은(는) 목록에 존재하지 않습니다.")

# 간단한 테스트
add_book("파이썬 완벽 가이드")
add_book("코딩 호러")
list_books()
remove_book("파이썬 완벽 가이드")
list_books()

코드 설명하기

1. 도서 목록 초기화

  • books 리스트는 여러분이 관리할 도서 목록을 담기 위해 초기화됩니다.

2. 책 추가 함수

  • add_book(book_name): 인자로 받은 책 이름을 리스트에 추가하며, 성공적으로 추가되었음을 출력합니다.

3. 책 목록 조회 함수

  • list_books(): 현재 리스트에 있는 모든 책을 출력합니다. 비어있다면 적절한 메시지를 제공합니다.

4. 책 삭제 함수

  • remove_book(book_name): 지정한 책이 리스트에 있을 경우 삭제하며, 성공적으로 삭제되었음을 출력합니다.

5. 간단한 테스트

  • 마지막 부분에서는 함수들을 호출하여 코드가 제대로 작동하는지를 테스트합니다.

예제 실행 결과

이 코드를 실행하면 다음과 같은 결과를 볼 수 있습니다.

'파이썬 완벽 가이드'이(가) 목록에 추가되었습니다.
'코딩 호러'이(가) 목록에 추가되었습니다.
도서 목록:
1. 파이썬 완벽 가이드
2. 코딩 호러
'파이썬 완벽 가이드'이(가) 목록에서 삭제되었습니다.
도서 목록:
1. 코딩 호러

추가 아이디어

이 시스템을 더 발전시키기 위해 다음과 같은 기능을 추가해보세요:

  • 사용자가 직접 책의 정보를 입력할 수 있도록 개선하기 (예: 저자, 출판일).
  • 데이터 Persistence를 위해 파일에 저장하고 불러오는 기능 추가하기.
  • UI를 갖춘 애플리케이션으로 발전시키기 (예: Tkinter 혹은 웹 프레임워크 사용하기).

마무리하며

이번 포스트에서는 파이썬을 가지고 간단한 도서 관리 시스템을 만들며 기본적인 파일 관리 개념을 배워보았습니다. 여러분도 이 코드를 통해 계속해서 발전하고, 자신만의 버전으로 프로젝트를 완성해보세요! 어떤 질문이든 댓글로 남겨주시면 기꺼이 도와드리겠습니다.

공유하기: 필요한 사람들과 이 정보를 나누어주세요. 다음 포스트에서 뵙겠습니다!

728x90
반응형