Reputation: 69
Am trying to implement a python dequeue program using some OOP Conceps .The program should have the following methods in class Queue. i. constructor of the Queue class ii. enqueue method of the Queue iii. dequeue method of the Queue iv. is_empty method of the Queue class v. str method of the Queue and finally a correctly implemented method for statement number += 15 using magic method in Queue class.The following is what i have been able to implement .AM not able to implement the magic method. Your help is appreciated
class Queue:
def __init__(self,Numbers):
self.items=[]
def is_empty(self):
return self.items == []
def enqueue(self, item):
self.items.insert(0,item)
def dequeue(self):
return self.items.pop()
def __str__(self):
return str(self.items)
# -----------------------------------------------------
def main():
numbers = Queue("Numbers")
print("Enqueue 1, 2, 3, 4, 5")
print("---------------------")
for number in range(1, 6):
numbers.enqueue(number)
print(numbers)
print("\nDequeue one item")
print("----------------")
numbers.dequeue()
print(numbers)
print("\nDeque all items")
print("---------------")
while not numbers.is_empty():
print("Item dequeued:", numbers.dequeue())
print(numbers)
# Enqueue 10, 11, 12, 13, 14
for number in range(10, 15):
numbers.enqueue(number)
# Enqueue 15
numbers += 15
print("\n10, 11, 12, 13, 14, 15 enqueued")
print("-------------------------------")
print(numbers)
# -----------------------------------------------------
main()
Upvotes: 0
Views: 115
Reputation: 164673
There are 2 errors in your code.
First, method names are case sensitive:
while not numbers.is_Empty():
Second, you need to use enqueue
method instead of +=
:
# Enqueue 15
numbers.enqueue(15)
Upvotes: 1