我正在尝试使用一些面向对象的概念来实现python程序,.The程序应该在类队列中具有以下方法。i.队列类ii的构造函数。队列iii的enqueue方法。队列iv的去队列方法。队列类的is_empty方法v.队列的str方法,最后给出了一种正确实现的语句号+= 15的方法,在队列class.The中使用魔术方法,下面是我已经能够实现的.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()发布于 2018-03-29 17:19:51
代码中有两个错误。
首先,方法名称区分大小写:
while not numbers.is_Empty():第二,您需要使用enqueue方法而不是+=。
# Enqueue 15
numbers.enqueue(15)https://stackoverflow.com/questions/49561753
复制相似问题