Project
Project
Develop a simple library management system using OOP concepts. This system
should manage books including checking them in and out, and maintaining a catalog
of available books.
Requirements:
1. Book Class:
• Attributes: title (string), author (string), publication_date
(String), is_checked_out (boolean).
• Methods:
• check_out(): Modifies the book's status to checked out.
• return_book(): Modifies the book's status to available.
• __str__(): Returns a string representation of the book, suitable for
printing.
2. Library Class:
• Attributes: catalog (list of Book instances).
• Methods:
• add_book(book):Adds a new book to the catalog.
• check_out_book(title): Checks out a book by its title.
• return_book(title): Returns a book by its title.
• available_books(): Prints titles of all books that are not checked out.
Example Output:
Added "1984" by George Orwell.
Checked out "1984".
Available books:
- To Kill a Mockingbird by Harper Lee
Returned "1984".
Hint:
Leverage the __str__ method in the Book class for easy string representation
when printing books.
Task 3: Data Analysis Functions
• Objective: Perform statistical analysis on temperature and humidity data.
• Details:
• Calculate the mean, median, and standard deviation for both sets of data.
• Implement filtering methods to select data points based on computed statistics.
Task 4: Advanced String Manipulations
• Objective: Advanced operations on the list of words.
• Details:
• Analyze the frequency of each unique word.
• Identify and report the most common words.
Task 5: Integration and Reporting
• Objective: Integrate all components and generate a comprehensive report.
• Details:
• Compile all results, including statistical analyses, filtered data, and common words.
• Generate a report listing all books currently stored in the library.
Additional Guidelines
• Students are encouraged to use standard Python libraries like numpy for statistical
calculations and re for regular expressions.
• The project should be well-documented, with comments explaining the purpose
and functionality of each part of the code.
• Error handling should be implemented to manage potential issues during file
reading or data processing.
This project aims to provide a holistic learning experience by combining different
programming concepts and tasks that build upon each other, culminating in a practical,
real-world application.