Working with Queue Collections - Python Programming Exercise

In this exercise, you will develop a Python program to demonstrate the use of queue collections. This exercise is perfect for practicing data structures, queue operations, and error handling in Python. By implementing this program, you will gain hands-on experience in handling data structures, queue operations, and error handling in Python. This exercise not only reinforces your understanding of data structures but also helps you develop efficient coding practices for managing user interactions.

 Category

Memory Management Techniques

 Exercise

Working With Queue Collections

 Objective

Develop a Python program to demonstrate the use of queue collections. Utilize the queue module to implement a basic queue with operations for adding elements, removing elements, and displaying the queue. Ensure the program handles edge cases such as attempting operations on an empty queue.

 Example Python Exercise

 Copy Python Code
import queue

class QueueDemo:
    """Class to demonstrate queue operations using the queue module."""
    
    def __init__(self):
        """Initializes the queue."""
        self.q = queue.Queue()

    def enqueue(self, item):
        """Adds an item to the queue."""
        self.q.put(item)
        print(f"Item '{item}' added to the queue.")

    def dequeue(self):
        """Removes and returns the item from the front of the queue."""
        if self.is_empty():
            print("Error: The queue is empty. Cannot perform dequeue.")
        else:
            item = self.q.get()
            print(f"Item '{item}' removed from the queue.")
            return item

    def is_empty(self):
        """Checks if the queue is empty."""
        return self.q.empty()

    def display(self):
        """Displays the current contents of the queue."""
        if self.is_empty():
            print("The queue is empty.")
        else:
            # Convert the queue to a list for display purposes
            print("Current contents of the queue:", list(self.q.queue))


def main():
    """Main function to interact with the queue."""
    queue_demo = QueueDemo()

    while True:
        print("\nOptions:")
        print("1. Enqueue (Add item to the queue)")
        print("2. Dequeue (Remove item from the queue)")
        print("3. Display queue contents")
        print("4. Exit")
        
        choice = input("Choose an option (1/2/3/4): ")

        if choice == "1":
            item = input("Enter the item to enqueue: ")
            queue_demo.enqueue(item)
        elif choice == "2":
            queue_demo.dequeue()
        elif choice == "3":
            queue_demo.display()
        elif choice == "4":
            print("Exiting the program.")
            break
        else:
            print("Invalid option. Please choose a valid option.")


# Run the program
if __name__ == "__main__":
    main()

 Output

Options:
1. Enqueue (Add item to the queue)
2. Dequeue (Remove item from the queue)
3. Display queue contents
4. Exit
Choose an option (1/2/3/4): 1
Enter the item to enqueue: Book
Item 'Book' added to the queue.

Options:
1. Enqueue (Add item to the queue)
2. Dequeue (Remove item from the queue)
3. Display queue contents
4. Exit
Choose an option (1/2/3/4): 3
Current contents of the queue: ['Book']

Options:
1. Enqueue (Add item to the queue)
2. Dequeue (Remove item from the queue)
3. Display queue contents
4. Exit
Choose an option (1/2/3/4): 2
Item 'Book' removed from the queue.

Options:
1. Enqueue (Add item to the queue)
2. Dequeue (Remove item from the queue)
3. Display queue contents
4. Exit
Choose an option (1/2/3/4): 3
The queue is empty.

Options:
1. Enqueue (Add item to the queue)
2. Dequeue (Remove item from the queue)
3. Display queue contents
4. Exit
Choose an option (1/2/3/4): 4
Exiting the program.

 Share this Python Exercise

 More Python Programming Exercises of Memory Management Techniques

Explore our set of Python Programming Exercises! Specifically designed for beginners, these exercises will help you develop a solid understanding of the basics of Python. From variables and data types to control structures and simple functions, each exercise is crafted to challenge you incrementally as you build confidence in coding in Python.

  •  Queue and Stack for Reverse Polish Notation

    In this exercise, you will develop a Python program to evaluate expressions written in Reverse Polish Notation (RPN) using a queue and stack. This exercise is ...

  •  Working with ArrayList

    In this exercise, you will develop a Python program to demonstrate the use of an ArrayList-like structure. This exercise is perfect for practicing data structu...

  •  ArrayList Copying a Text File

    In this exercise, you will develop a Python program that uses an ArrayList-like structure (a list) to duplicate the contents of a text file. This exercise is p...

  •  Calculating an Unlimited Sum

    In this exercise, you will develop a Python program to calculate an unlimited sum by continuously adding numbers provided by the user. This exercise is perfect...

  •  ArrayList - Reading a Text File

    In this exercise, you will develop a Python program that uses an ArrayList-like structure (a list) to read and store the contents of a text file. This exercise...

  •  Hash Table - Implementing a Dictionary

    In this exercise, you will develop a Python program that implements a hash table using a dictionary. This exercise is perfect for practicing data structures, d...