안녕하세요!
python 클래스를 이용한 도서 키오스크 만들기. 본문
728x90
반응형
오늘은 파이썬 총 정리를 하는 시간을 가졌다.
배운것들을 활용하여 도서 키오스크를 만들었다.
class LibraryKiosk:
def __init__(self):
self.books = {}
def add_books(self,book_id, title, quantity):
if book_id in self.books:
self.books["quantity"] += quantity
else:
self.books[book_id] = {"title" : title, "quantity" : quantity}
print(f'도서번호:{book_id}, 제목:{title}, 수량:{quantity}')
def borrow_books(self,book_id):
if book_id in self.books and self.books[book_id]["quantity"] > 0:
self.books[book_id]["quantity"] -= 1
print(f"도서번호:{book_id}, 제목:{self.books[book_id]['title']}, 수량:{self.books[book_id]['quantity']}")
else:
print ("도서가 없거나 수량이 모자랍니다.")
def return_books(self,book_id):
if book_id in self.books:
self.books[book_id]["quantity"] += 1
print(f"도서번호:{book_id}, 제목:{self.books[book_id]['title']}, 수량:{self.books[book_id]['quantity']}")
else:
print("반납하시려는 도서번호가 존재하지 않습니다.")
클래스로 함수들을 묶어서 필요한 부분을 만들었고,
def main():
kiosk = LibraryKiosk()
while True:
print("도서관 시스템에 오신걸 환영합니다")
print("도서입고 = 1")
print("도서출고 = 2")
print("도서반납 = 3")
print("종료 = 4")
choice = input("번호를 1-4까지 입력해주세요.")
if choice == "1":
# print("도서입고입니다.")
book_id = input("도서 번호를 입력해주세요")
title = input("도서 제목을 입력해주세요")
quantity = int(input("도서의 수량를 입력해주세요"))
kiosk.add_books(book_id,title,quantity)
elif choice == "2":
# print("도서출고입니다.")
book_id = input("출고하실 도서 번호를 입력해주세요.")
kiosk.borrow_books(book_id)
elif choice == "3":
# print("도서반납입니다.")
book_id = input("반납하실 도서 번호를 입력해주세요.")
kiosk.return_books(book_id)
elif choice == "4":
print("종료합니다.")
break
else:
print("다시 입력해 주세요")
if __name__=="__main__":
main()
해당하는 1,2,3,4 번으로 책의 등록, 대여, 반납, 시스템종료 를 만들었다.
여러번 반복해서 숙달이 더 필요해 보인다.
아직 클래스에서 self를 사용하는것과 self.books[book_id]등을 이용하여 요소들을 뽑아내는 아이디어가 부족하지만 더 공부하여 나아갈 예정이다!
728x90
반응형
'개발일지 > python' 카테고리의 다른 글
python decorator(데코레이터) 간단 정리 (0) | 2023.11.15 |
---|---|
python closure(클로저)를 알아보자 (2) | 2023.11.14 |
예외처리 (2) | 2023.11.12 |
python 정규식 개념 정리!(전화번호, 이메일 정규식) (6) | 2023.11.09 |
python library(라이브러리) 특징 및 사용법! (4) | 2023.11.08 |