0% found this document useful (0 votes)
15 views

Project

This Python project involves creating a library management and data analysis system using object-oriented programming, file handling, and statistical analysis. Students will read data from a text file, implement classes for managing books and a library, and perform various data analysis tasks. The project aims to integrate multiple programming concepts into a cohesive application while emphasizing documentation and error handling.

Uploaded by

ziada00700
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

Project

This Python project involves creating a library management and data analysis system using object-oriented programming, file handling, and statistical analysis. Students will read data from a text file, implement classes for managing books and a library, and perform various data analysis tasks. The project aims to integrate multiple programming concepts into a cohesive application while emphasizing documentation and error handling.

Uploaded by

ziada00700
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Python Project Overview with OOP

Allowed Time: (2 Hrs)


This project combines file handling, data parsing, statistical analysis, and object-
oriented programming to create a comprehensive library management and data analysis
system. Students will develop a system that reads various types of data from a text file and
utilizes classes to manage books and a library. This project will help students understand
how to integrate different aspects of Python programming into a unified application.
Project Setup
1. Files Required:
• utilities.py:
Contains helper functions and classes for data handling and OOP.
• main.py: The main driver script that uses functions and classes from utilities.py.
2. Data:
• Data will be read from a file named input.txt.
• The structure of input.txt must include:
• First line: Comma-separated temperature readings.
• Second line: Comma-separated humidity readings.
• Third line: A string of words separated by non-alphabetic characters.
• Fourth line: Book information in the format "title" : "Author" : "date of publication".
Project Tasks
Task 1: Basic File Operations and Data Parsing
• Objective: Read and parse different types of data from input.txt.
• Details:
• Extract temperature and humidity data from the first two lines.
• Clean and split a string of words from the third line.
• Parse book information from the fourth line.
Task 2: Object-Oriented Data Management
• Objective: Implement classes to handle the management of books and a library.

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.

You might also like