How to add sorting algorithm and other data structure algorithm in this project? Programming Language: Python  # --- Python Mini Project - Library Management System ----- # Create list_of_books.txt file # List of books : ------code----  import datetime import os os.getcwd()    class LMS:     """     This class is used to keep records of books library.     It has total four modules: 'Display Books', 'Lend Books', 'Add Books', 'Return Books'     'list_of_books' should be txt file. 'library_name' should be string.     """        def __init__(self, list_of_books, library_name):         self.list_of_books = "list_of_books.txt"         self.library_name = library_name         self.books_dict = {}         id = 101         with open(self.list_of_books) as b:             content = b.readlines()         for line in content:             self.books_dict.update({str(id):{'books_title':line.replace("\n",""),'lender_name':'','lend_date':'', 'status':'Available'}})             id += 1            def display_books(self):         print("------------------------List of Books---------------------")         print("Books ID","\t", "Title")         print("----------------------------------------------------------")         for key, value in self.books_dict.items():             print(key,"\t\t", value.get("books_title"), "- [", value.get("status"),"]")        def Issue_books(self):         books_id = input("Enter Books ID : ")         current_date = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")         if books_id in self.books_dict.keys():             if not self.books_dict[books_id]['status'] == 'Available':                 print(f"This book is already issued to {self.books_dict[books_id]['lender_name']} on {self.books_dict[books_id]['lend_date']}")                 return self.lend_books()             elif self.books_dict[books_id]['status'] == 'Available':                 your_name = input("Enter Your Name : ")                 self.books_dict[books_id]['lender_name'] = your_name                 self.books_dict[books_id]['lend_date'] = current_date                 self.books_dict[books_id]['status']= 'Already Issued'                 print("Book Issued Successfully !!!\n")         else:             print("Book ID Not Found !!!")             return self.Issue_books()        def add_books(self):         new_books = input("Enter Books Title : ")         if new_books == "":             return self.add_books()         elif len(new_books) > 20:             print("Books title length is too long !!! Title length limit is 20 characters")             return self.add_books()         else:             with open(self.list_of_books, "a") as b:                 b.writelines(f"{new_books}\n")             self.books_dict.update({str(int(max(self.books_dict))+1):{'books_title':new_books,'lender_name':'','lend_date':'', 'status':'Available'}})             print(f"The books '{new_books}' has been added successfully !!!")        def return_books(self):         books_id = input("Enter Books ID : ")         if books_id in self.books_dict.keys():             if self.books_dict[books_id]['status'] == 'Available':                 print("This book is already available in library. Please check book id. !!! ")                 return self.return_books()             elif not self.books_dict[books_id]['status'] == 'Available':                 self.books_dict[books_id]['lender_name'] = ''                 self.books_dict[books_id]['lend_date'] = ''                 self.books_dict[books_id]['status']= 'Available'                 print("Successfully Updated !!!\n")         else:             print("Book ID Not Found !!!")    if __name__ == "__main__":     try:         mylms = LMS("list_of_books.txt", "Python's")         press_key_list = {"D": "Display Books", "I": "Issue Books", "A": "Add Books", "R": "Return Books", "Q": "Quit"}                     key_press = False         while not (key_press == "q"):             print(f"\n----------Welcome To {mylms.library_name}'s Library Management System---------\n")             for key, value in press_key_list.items():                 print("Press", key, "To", value)             key_press = input("Press Key : ").lower()             if key_press == "i":                 print("\nCurrent Selection : ISSUE BOOK\n")                 mylms.Issue_books()                             elif key_press == "a":                 print("\nCurrent Selection : ADD BOOK\n")                 mylms.add_books()                elif key_press == "d":                 print("\nCurrent Selection : DISPLAY BOOKS\n")                 mylms.display_books()                         elif key_press == "r":                 print("\nCurrent Selection : RETURN BOOK\n")                 mylms.return_books()             elif key_press == "q":                 break             else:                 continue     except Exception as e:         print("Something went wrong. Please check. !!!")
How to add sorting algorithm and other data structure algorithm in this project? Programming Language: Python # --- Python Mini Project - Library Management System ----- # Create list_of_books.txt file # List of books : ------code---- import datetime import os os.getcwd() class LMS: """ This class is used to keep records of books library. It has total four modules: 'Display Books', 'Lend Books', 'Add Books', 'Return Books' 'list_of_books' should be txt file. 'library_name' should be string. """ def __init__(self, list_of_books, library_name): self.list_of_books = "list_of_books.txt" self.library_name = library_name self.books_dict = {} id = 101 with open(self.list_of_books) as b: content = b.readlines() for line in content: self.books_dict.update({str(id):{'books_title':line.replace("\n",""),'lender_name':'','lend_date':'', 'status':'Available'}}) id += 1 def display_books(self): print("------------------------List of Books---------------------") print("Books ID","\t", "Title") print("----------------------------------------------------------") for key, value in self.books_dict.items(): print(key,"\t\t", value.get("books_title"), "- [", value.get("status"),"]") def Issue_books(self): books_id = input("Enter Books ID : ") current_date = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") if books_id in self.books_dict.keys(): if not self.books_dict[books_id]['status'] == 'Available': print(f"This book is already issued to {self.books_dict[books_id]['lender_name']} on {self.books_dict[books_id]['lend_date']}") return self.lend_books() elif self.books_dict[books_id]['status'] == 'Available': your_name = input("Enter Your Name : ") self.books_dict[books_id]['lender_name'] = your_name self.books_dict[books_id]['lend_date'] = current_date self.books_dict[books_id]['status']= 'Already Issued' print("Book Issued Successfully !!!\n") else: print("Book ID Not Found !!!") return self.Issue_books() def add_books(self): new_books = input("Enter Books Title : ") if new_books == "": return self.add_books() elif len(new_books) > 20: print("Books title length is too long !!! Title length limit is 20 characters") return self.add_books() else: with open(self.list_of_books, "a") as b: b.writelines(f"{new_books}\n") self.books_dict.update({str(int(max(self.books_dict))+1):{'books_title':new_books,'lender_name':'','lend_date':'', 'status':'Available'}}) print(f"The books '{new_books}' has been added successfully !!!") def return_books(self): books_id = input("Enter Books ID : ") if books_id in self.books_dict.keys(): if self.books_dict[books_id]['status'] == 'Available': print("This book is already available in library. Please check book id. !!! ") return self.return_books() elif not self.books_dict[books_id]['status'] == 'Available': self.books_dict[books_id]['lender_name'] = '' self.books_dict[books_id]['lend_date'] = '' self.books_dict[books_id]['status']= 'Available' print("Successfully Updated !!!\n") else: print("Book ID Not Found !!!") if __name__ == "__main__": try: mylms = LMS("list_of_books.txt", "Python's") press_key_list = {"D": "Display Books", "I": "Issue Books", "A": "Add Books", "R": "Return Books", "Q": "Quit"} key_press = False while not (key_press == "q"): print(f"\n----------Welcome To {mylms.library_name}'s Library Management System---------\n") for key, value in press_key_list.items(): print("Press", key, "To", value) key_press = input("Press Key : ").lower() if key_press == "i": print("\nCurrent Selection : ISSUE BOOK\n") mylms.Issue_books() elif key_press == "a": print("\nCurrent Selection : ADD BOOK\n") mylms.add_books() elif key_press == "d": print("\nCurrent Selection : DISPLAY BOOKS\n") mylms.display_books() elif key_press == "r": print("\nCurrent Selection : RETURN BOOK\n") mylms.return_books() elif key_press == "q": break else: continue except Exception as e: print("Something went wrong. Please check. !!!")
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE 
Related questions
Question
How to add sorting algorithm  and other data structure algorithm in this project?
Programming Language: Python
Programming Language: Python
# --- Python Mini Project - Library Management System -----
# Create list_of_books.txt file
# List of books :
------code----
import datetime
import os
os.getcwd()
class LMS:
    """
    This class is used to keep records of books library.
    It has total four modules: 'Display Books', 'Lend Books', 'Add Books', 'Return Books'
    'list_of_books' should be txt file. 'library_name' should be string.
    """
    def __init__(self, list_of_books, library_name):
        self.list_of_books = "list_of_books.txt"
        self.library_name = library_name
        self.books_dict = {}
        id = 101
        with open(self.list_of_books) as b:
            content = b.readlines()
        for line in content:
            self.books_dict.update({str(id):{'books_title':line.replace("\n",""),'lender_name':'','lend_date':'', 'status':'Available'}})
            id += 1    
    def display_books(self):
        print("------------------------List of Books---------------------")
        print("Books ID","\t", "Title")
        print("----------------------------------------------------------")
        for key, value in self.books_dict.items():
            print(key,"\t\t", value.get("books_title"), "- [", value.get("status"),"]")
    def Issue_books(self):
        books_id = input("Enter Books ID : ")
        current_date = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        if books_id in self.books_dict.keys():
            if not self.books_dict[books_id]['status'] == 'Available':
                print(f"This book is already issued to {self.books_dict[books_id]['lender_name']} on {self.books_dict[books_id]['lend_date']}")
                return self.lend_books()
            elif self.books_dict[books_id]['status'] == 'Available':
                your_name = input("Enter Your Name : ")
                self.books_dict[books_id]['lender_name'] = your_name
                self.books_dict[books_id]['lend_date'] = current_date
                self.books_dict[books_id]['status']= 'Already Issued'
                print("Book Issued Successfully !!!\n")
        else:
            print("Book ID Not Found !!!")
            return self.Issue_books()
    def add_books(self):
        new_books = input("Enter Books Title : ")
        if new_books == "":
            return self.add_books()
        elif len(new_books) > 20:
            print("Books title length is too long !!! Title length limit is 20 characters")
            return self.add_books()
        else:
            with open(self.list_of_books, "a") as b:
                b.writelines(f"{new_books}\n")
            self.books_dict.update({str(int(max(self.books_dict))+1):{'books_title':new_books,'lender_name':'','lend_date':'', 'status':'Available'}})
            print(f"The books '{new_books}' has been added successfully !!!")
    def return_books(self):
        books_id = input("Enter Books ID : ")
        if books_id in self.books_dict.keys():
            if self.books_dict[books_id]['status'] == 'Available':
                print("This book is already available in library. Please check book id. !!! ")
                return self.return_books()
            elif not self.books_dict[books_id]['status'] == 'Available':
                self.books_dict[books_id]['lender_name'] = ''
                self.books_dict[books_id]['lend_date'] = ''
                self.books_dict[books_id]['status']= 'Available'
                print("Successfully Updated !!!\n")
        else:
            print("Book ID Not Found !!!")
if __name__ == "__main__":
    try:
        mylms = LMS("list_of_books.txt", "Python's")
        press_key_list = {"D": "Display Books", "I": "Issue Books", "A": "Add Books", "R": "Return Books", "Q": "Quit"}    
        key_press = False
        while not (key_press == "q"):
            print(f"\n----------Welcome To {mylms.library_name}'s Library Management System---------\n")
            for key, value in press_key_list.items():
                print("Press", key, "To", value)
            key_press = input("Press Key : ").lower()
            if key_press == "i":
                print("\nCurrent Selection : ISSUE BOOK\n")
                mylms.Issue_books()
            elif key_press == "a":
                print("\nCurrent Selection : ADD BOOK\n")
                mylms.add_books()
            elif key_press == "d":
                print("\nCurrent Selection : DISPLAY BOOKS\n")
                mylms.display_books()
            elif key_press == "r":
                print("\nCurrent Selection : RETURN BOOK\n")
                mylms.return_books()
            elif key_press == "q":
                break
            else:
                continue
    except Exception as e:
        print("Something went wrong. Please check. !!!")
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
 This is a popular solution! 
Trending now
This is a popular solution!
Step by step
Solved in 2 steps

Follow-up Questions
Read through expert solutions to related follow-up questions below.
Follow-up Question
I think you forgot to add the insertion function in the code that you provided. The books still display unsorted.
Solution
Follow-up Question
Regarding to queue and dequeue, I tried adding the code given but it seems like once the book id is returned, the book id is still present in the queue list when I tried to debug. Also, the insertion sort given function is not working.
Solution
Follow-up Question
Implement queue and dequeue in this 
Solution
Knowledge Booster
Learn more about 
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you

Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education

Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON

Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education

Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON

C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON

Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning

Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education