Library System

Implement a Python program that simulates a library system where users can borrow books. Raise custom exceptions for scenarios like book not found, book already borrowed, user has too many books, etc.

Example 1:

Input: Library: {"book1": {"borrowed": False}, "book2": {"borrowed": True}}, User: {"name": "user1", "books": []}, Book: "book1" 

Output: "Book borrowed successfully."

Example 2:

Input: Library: {"book1": {"borrowed": False}, "book2": {"borrowed": True}}, User: {"name": "user1", "books": ["book3", "book4", "book5"]}, Book: "book1" 

Output: "Error: User has too many books."

Use dictionaries to store the library and user information.

def borrow_book(library, user, book):
    if book not in library:
        raise Exception("Error: Book not found.")
    elif library[book]["borrowed"]:
        raise Exception("Error: Book already borrowed.")
    elif len(user["books"]) >= 3:
        raise Exception("Error: User has too many books.")
    else:
        library[book]["borrowed"] = True
        user["books"].append(book)
        return "Book borrowed successfully."

library = {"book1": {"borrowed": False}, "book2": {"borrowed": True}}
user = {"name": "user1", "books": []}
print(borrow_book(library, user, "book1"))  # Output: "Book borrowed successfully."
print(borrow_book(library, user, "book2"))  # Output: "Error: Book already borrowed."

 

© Let’s Data Science

LOGIN

Unlock AI & Data Science treasures. Log in!