- Published on
파이썬 종합 프로젝트
- Authors
- Name
- devnmin
파이썬 종합 프로젝트: 간단한 도서 관리 시스템
지금까지 배운 파이썬 기초와 심화 내용을 활용해 도서 관리 시스템을 만들어 보겠습니다. 이 프로젝트는 파일 입출력, 함수, 클래스, 리스트, 딕셔너리 등을 모두 활용하며, 배운 내용을 종합적으로 적용할 기회를 제공합니다.
프로젝트 개요
구현할 기능
- 도서 추가
- 도서 삭제
- 도서 목록 보기
- 데이터 저장 및 불러오기
- 프로그램 종료
코드 작성
아래의 코드를 따라 단계별로 작성해 보세요.
import json
class BookManager:
def __init__(self, file_name):
self.file_name = file_name
self.books = self.load_books()
def load_books(self):
try:
with open(self.file_name, "r") as file:
return json.load(file)
except FileNotFoundError:
return []
def save_books(self):
with open(self.file_name, "w") as file:
json.dump(self.books, file, indent=4)
def add_book(self, title, author):
self.books.append({"title": title, "author": author})
print(f"도서 '{title}'이(가) 추가되었습니다.")
def remove_book(self, title):
for book in self.books:
if book["title"] == title:
self.books.remove(book)
print(f"도서 '{title}'이(가) 삭제되었습니다.")
return
print("해당 도서를 찾을 수 없습니다.")
def display_books(self):
if not self.books:
print("현재 등록된 도서가 없습니다.")
else:
print("\n=== 도서 목록 ===")
for idx, book in enumerate(self.books, start=1):
print(f"{idx}. {book['title']} (저자: {book['author']})")
def main():
manager = BookManager("books.json")
while True:
print("\n=== 도서 관리 시스템 ===")
print("1. 도서 추가")
print("2. 도서 삭제")
print("3. 도서 목록 보기")
print("4. 종료")
try:
choice = int(input("메뉴를 선택하세요: "))
if choice == 1:
title = input("도서 제목을 입력하세요: ")
author = input("저자를 입력하세요: ")
manager.add_book(title, author)
elif choice == 2:
title = input("삭제할 도서 제목을 입력하세요: ")
manager.remove_book(title)
elif choice == 3:
manager.display_books()
elif choice == 4:
manager.save_books()
print("프로그램을 종료합니다.")
break
else:
print("유효하지 않은 선택입니다. 다시 시도하세요.")
except ValueError:
print("숫자를 입력하세요.")
if __name__ == "__main__":
main()
코드 실행 예시
프로그램 실행:
=== 도서 관리 시스템 ===
1. 도서 추가
2. 도서 삭제
3. 도서 목록 보기
4. 종료
메뉴를 선택하세요: 1
도서 제목을 입력하세요: 파이썬 완전 정복
저자를 입력하세요: 홍길동
도서 '파이썬 완전 정복'이(가) 추가되었습니다.
=== 도서 관리 시스템 ===
1. 도서 추가
2. 도서 삭제
3. 도서 목록 보기
4. 종료
메뉴를 선택하세요: 3
=== 도서 목록 ===
1. 파이썬 완전 정복 (저자: 홍길동)
확장 아이디어
- 도서 검색 기능 추가:
- 제목 또는 저자로 도서를 검색할 수 있는 기능.
- 도서 정렬 기능 추가:
- 제목이나 저자 기준으로 도서를 정렬.
- GUI 프로그램으로 확장:
tkinter
또는PyQt
를 사용해 사용자 인터페이스 추가.
마무리
이 프로젝트를 통해 파이썬의 다양한 기초와 심화 개념을 하나로 통합해 실습해 보았습니다. 이제 자신만의 아이디어를 기반으로 더 많은 프로그램을 만들어 보세요!
배운 내용을 토대로 파이썬을 활용해 세상을 바꿔보세요! 🎉