尝试使用一些OOP Conceps实现python dequeue程序。该程序在类Queue中应该具有以下方法。 一世。 Queue类的构造函数 II。队列的入队方法 III。队列的出队方法 IV。 Queue类的is_empty方法 v。队列的 str 方法 最后使用Queue类中的magic方法正确实现了语句编号+ = 15的方法。以下是我能够实现的.AM无法实现魔术方法。感谢您的帮助
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()
答案 0 :(得分:1)
您的代码中有2个错误。
首先,方法名称区分大小写:
while not numbers.is_Empty():
其次,您需要使用enqueue
方法而不是+=
:
# Enqueue 15
numbers.enqueue(15)