python project and need a sample draft to help me learn.
All information is in the document
Requirements:
Assignment Problem Statement This assignment will allow you to practice algorithmic thinking and essential Python programming with several small-scale problems. You are tasked with creating a Python program for a library book management system. The program should allow users to borrow and return books from the library. You will need to use loops, lists, and functions to implement the required functionality. The books are stored in a list, where each book is represented by a grouping of four pieces of data (the book ID, the book title, the authors, and the publishing year). See Figure 1. Figure 1. A visual representation of the library book storage. Question 1: Create a Python program that simulates a basic library book management system. Your program should: (a) Initialize a list called library_books with at least ten book titles. Each book consists of ID, Title, authors, and the year it was published. The book attributes are represented by the storage location. The book ID is stored first, followed by the title, authors, and the year it was published. Example output, when you print the bookstore, should look like the following, but please ensure that you add different books and at least ten entries:
(b) Implement a function called display_books that takes the library_books list as a parameter and prints all the books in the library. Ensure that for each book, you print the ID, title, authors, and the year it was published. The following figure shows an example output of the display_books function
Question 2: Improve your library book management system to include the following features: Write a function borrow_book that takes a book ID. If the book is available (in the library_books list), remove it from the list and add it to a separate list called borrowed_books. However, If the book the user wants to borrow is not in the library_books list, but is in the borrowed_books list, then the user can request it. Requesting it means that the book is added to a list called requested_books. Example output: When the user successfully borrows a book, a message similar to this one is shown to the user:
The book with the ID 001 is successfully loaned to you now. When the user attempts to borrow a book that is currently loaned to someone else, a message like this one is shown to the user: The book with the ID 001 is not available right now. However, we have requested it for you. When the user attempts to borrow a book with an ID that does not exist in the system, a message like this one is shown to the user: The book with the ID 125 is unfortunately not available in the system. Please re-check the ID. Question 3: Write a function return_book that takes a book ID. If the book is not available in the borrowed_books, tell the user that they are trying to return a book that does not exist. However, if the book is in the list of borrowed_books, remove it from the list, and add it to the library_books list. Also, if the returned book is in the requested_books list, remove it from that list as well. Finally, implement a code that keeps track of the number of times a book has been borrowed. This may require a change in the data structures used. Whenever a book is returned, increment the number of times it was borrowed. Example output: If the user returns a book with an ID that currently exists in the borrowed_books list, the system displays a message like this one: The book with the ID 001 is successfully returned. If the user attempts to return a book with an ID that does not exist in the borrowed_books list, the system displays a message like this one:
The book with the ID 125 cannot be returned. Please re-check the ID. Instructions for Students 1. You will be working on this assignment individually. 2. You can use AI tools (such as ChatGPT or Bard) to help answer the questions. You must only utilize the tools and programming structures that have been instructed in class thus far to receive complete credit. Code with advanced tools or programming structures not covered in the course will get a score of 0. In addition, you must understand every single line of code submitted. You must attend a technical interview on your assignment explaining your approach to coding. The extent to which you know the code will be used to evaluate the assignment. 3. Make sure that you submit your original work. Suspected plagiarism cases will be treated as possible academic misconduct and will be reported to the College Academic Integrity Committee for formal investigation. As part of this procedure, your instructor may require you to meet with them for an oral exam on the assignment. 4. Failure to comply with the instructions will result in a 0 grade on the relevant portions of the assignment. Your instructor will grade your submission based on what you submitted on Forum within the allowed deadlines. Do not submit your assignment via email. Failure to submit an assignment or submitting an assignment for another student from the same class or another class will result in a 0 grade without the opportunity to resubmit. 5. Submission Two files need to be submitted: (1) Primary Resource: A single PDF file of your ipynb workbook. A neat, clearly presented, and easy-to-read file should be submitted. The file should be submitted with the filename “student_name.pdf”. (2) Secondary Resource: A Zip file. The file should be submitted with the filename “student_name.zip”.** The PDF file of your ipynb workbook** should include the following as part of the solution to the problem given below. 1. Algorithm, which clearly describes all steps and sub-steps required to arrive at the solution, with clearly defined step numbers. 2. Flowchart, which is a picture that uses the standard notations of a flowchart and depicts the flow of control. 3. Python code, which must NOT be a picture. The error-free code with all the proper documentation and indentations must be included. The ZIP File should include all additional files below to support your solution to the problem. 1. The .ipynb** file** 2. An ordered set of ChatGPT/AI tool screenshots used to generate code.
Note:The PDF file of your ipynb workbook should be submitted as a primary resource. If the PDF is not submitted as a primary resource, i.e., if the PDF as is submitted as a secondary resource, the final grade will be no more than 2. If you are having trouble PDF-ing your ipynb file, you can use this** template to submit your work. Remember that the code should still be submitted as an ipynb file.**** An ipynb file should be submitted. If the**** ipynb file is not submitted, the final grade will be no more than 2.** Assignment GuidelinesAs you solve each part of the problem, follow the steps of algorithmic thinking as outlined below. ¥ Step 1:** Algorithm Description**. Use an** algorithm and a flow chart** to develop and express your algorithm that accomplishes the given task. Remember, you must be very explicit and clear to ensure one can achieve the required solution following the steps of your algorithm. Describe the input(s), output(s), and the process of the algorithm. Follow the flowchart shape conventions reading, available here. ¥ Step 2:** Python Code.** ¥ You can use Anaconda or Colab to work on the Jupyter Notebook you will submit as your final project on Forum. ¥ 1 – You may download this Jupyter Notebook to your local machine. ¥ 2 – Open a tab in your browser and type https://colab.research.google.com/. ¥ 3 – This will open a small window. Choose the last option, Show notebooks in Drive on the upper menu, “Upload”. Then, choose the Jupyter Notebook you have saved. ¥ 4 – You can start working on your assignment by answering the questions in the corresponding cells. ¥ 5 – If you have any questions, please get in touch with your instructors or the CIS tutors. ¥ Implementation: Implement the algorithm in Python using the basic concepts and structures we covered in class (IMPORTANT: ONLY USE CONCEPTS COVERED IN CLASS). ¥ User input ¥ Variables ¥ Logical, Relational and Arithmetic Operators ¥ Conditional statements ¥ For/while loops ¥ Functions ¥ Data structures (lists, tuples and dictionaries) ¥ Step 3: Program Testing. Create a Test Plan with** at least 2 test cases** that demonstrate your code works as intended. Explain how you used these test cases in your comments. ¥ Step 4: Program Documentation. Be sure to use Python comments to clearly show you understand what every line of the code is intended to accomplish. Assignment Grading
Learning Outcomes (LOs) for Submission ¥ Algorithm and Flowchart: #Algorithmicstrategies ¥ Program: #Compprogramdesign, #Computationaltools ¥ Documentation: #QuantCommunication Learning Outcomes (LOs) for Technical Interview ¥ #Quantcommunication ¥ #Computationaltools ¥ #Compprogramdesign ¥ #Algorithmicstrategies Assignment Rubrics
We are a professional custom writing website. If you have searched a question and bumped into our website just know you are in the right place to get help in your coursework.
Yes. We have posted over our previous orders to display our experience. Since we have done this question before, we can also do it for you. To make sure we do it perfectly, please fill our Order Form. Filling the order form correctly will assist our team in referencing, specifications and future communication.
1. Click on the “Place order tab at the top menu or “Order Now” icon at the bottom and a new page will appear with an order form to be filled.
2. Fill in your paper’s requirements in the "PAPER INFORMATION" section and click “PRICE CALCULATION” at the bottom to calculate your order price.
3. Fill in your paper’s academic level, deadline and the required number of pages from the drop-down menus.
4. Click “FINAL STEP” to enter your registration details and get an account with us for record keeping and then, click on “PROCEED TO CHECKOUT” at the bottom of the page.
5. From there, the payment sections will show, follow the guided payment process and your order will be available for our writing team to work on it.
Need help with this assignment?
Order it here claim 25% discount
Discount Code: SAVE25