Advertisement
singam_dev57

Object-Oriented Programming (OOP) Book Lending System in Python

Dec 27th, 2024
67
0
191 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.49 KB | Source Code | 0 0
  1. import sys
  2.  
  3. class BookLendingSystem:
  4.    
  5.     def __init__(self):
  6.         self.available_books = {
  7.             1: "The Great Gatsby",
  8.             2: "To Kill a Mockingbird",
  9.             3: "1984",
  10.             4: "Pride and Prejudice"
  11.         }
  12.         self.borrowed_books = {}
  13.  
  14.  
  15.     def display_menu(self):
  16.  
  17.         print("\nWelcome to the Book Lending System!")
  18.         menu = {
  19.             1 : "View Available Books" ,
  20.             2 : "Borrow a Book",
  21.             3 : "Return a Book",
  22.             4 : "View Borrowed Books",
  23.             5 : "Exit"
  24.         }
  25.         for key, value in menu.items():
  26.             print(f"{key}. {value}")
  27.  
  28.  
  29.     def view_available_books(self):
  30.         print("--- The Available Books ---")
  31.         for key, value in self.available_books.items():
  32.             print(f"{key}. {value}")
  33.  
  34.  
  35.     def borrow_book(self):
  36.         self.view_available_books()
  37.         book_num = int(input("\nEnter the book number to borrow: ").strip())
  38.         self.name = input("\nEnter your name: ").strip()
  39.         if not self.available_books:
  40.             pass
  41.         else:
  42.             for key, value in  self.available_books.items():
  43.                 if key == book_num:
  44.                     print(f'You have borrowed "{value}". Please return it on time.')
  45.                     self.borrowed_books[key] = value
  46.        
  47.  
  48.     def view_borrowed_books(self):
  49.         if not self.borrowed_books:
  50.             pass
  51.         else:
  52.             print("\n--- Borrowed Books ---")
  53.             for key, value in self.borrowed_books.items():
  54.                 print(f"{key}. {value} - Borrowed by {self.name}.")
  55.  
  56.  
  57.     def return_book(self):
  58.         if not self.borrowed_books:
  59.             pass
  60.         else:
  61.             self.view_borrowed_books()    
  62.             book_num = int(input("\nEnter the book number to return: ").strip())
  63.             for key, value in  self.borrowed_books.items():
  64.                 print(f'Thank you, {self.name}, for returning "{value}".')
  65.  
  66.  
  67.     def run(self):
  68.        while True:
  69.             self.display_menu()
  70.             choice = input("\nChoose an option: ").strip()
  71.             if choice == "1":
  72.                 self.view_available_books()
  73.             if choice == "2":
  74.                 self.borrow_book()
  75.             if choice == "3":
  76.                 self.return_book()
  77.             if choice == "4":
  78.                 self.view_borrowed_books()
  79.             if choice == "5":
  80.                 sys.exit()
  81.  
  82. system = BookLendingSystem()
  83. system.run()
  84.  
  85.  
  86. `
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement