Implementing a Queue Using List - Python Programming Exercise

In this exercise, you will develop a Python program to implement a queue using a list. This exercise is perfect for practicing data structures, list manipulation, and error handling in Python. By implementing this program, you will gain hands-on experience in handling data structures, list manipulation, 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

Implementing A Queue Using List

 Objective

Develop a program in Python to implement a queue using a list. The program should include functionality to enqueue elements, dequeue elements, and display the current state of the queue. Ensure proper error handling for operations on an empty queue.

 Example Python Exercise

 Copy Python Code
class Queue:
    """Class to implement a queue using a list."""
    
    def __init__(self):
        """Initializes the queue as an empty list."""
        self.queue = []

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

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

    def is_empty(self):
        """Checks if the queue is empty."""
        return len(self.queue) == 0

    def display(self):
        """Displays the current state of the queue."""
        if self.is_empty():
            print("The queue is empty.")
        else:
            print("Current state of the queue:", self.queue)


def main():
    """Main function to interact with the queue."""
    q = Queue()

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

        if choice == "1":
            item = input("Enter the item to add to the queue: ")
            q.enqueue(item)
        elif choice == "2":
            q.dequeue()
        elif choice == "3":
            q.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 state
4. Exit
Choose an option (1/2/3/4): 1
Enter the item to add to the queue: Apple
Item 'Apple' added to the queue.

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

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

Options:
1. Enqueue (Add item to the queue)
2. Dequeue (Remove item from the queue)
3. Display queue state
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 state
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.

  •  Building a Stack Using Lists

    In this exercise, you will develop a Python program to implement a stack using a list. This exercise is perfect for practicing data structures, list manipulati...

  •  Working with Queue Collections

    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...

  •  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...