2017-09-13 50 views
1
class Queue(object): 
    def __init__(self): 
     self.items=[] 
    def enqueue(self,item): 
     self.items.insert(0,item) 

    def isempty(self): 
     return self.items==[] 
    def dequeue(self): 
     if not self.isempty(): 
      return self.items.pop() 
     else: 
      raise Exception('Queue is empty') 

    def size(self): 
     return len(self.items) 
    def peek(self): 
     if not self.isempty(): 
      return self.items[-1] 
     else: 
      raise Exception('Queue is empty') 

    def main(): 
     queue =Queue() 
     queue.enqueue(1) 
     queue.enqueue(2) 
     queue.enqueue(3) 
     print(queue.size()) 
     print(queue.peek()) 
     print(queue.dequeue()) 
     print(queue.peek()) 
    if __name__=='__main__': 
     main() 

# queue.peek()#當我使用的任何方法,它是表示本當我運行該代碼我正在此錯誤

Traceback (most recent call last): File "<pyshell#6>", line 1, in 
<module> 
    queue.peek() AttributeError: 'Queue' object has no attribute 'peek' 

回答

0

它似乎是def main():並且行向前沒有正確縮進。

+0

不存在此代碼的其他錯誤,如果縮進不正確,它應顯示縮進錯誤,而不是屬性錯誤 –

3

當格式正確和縮進,它工作正常:

class Queue: 

    def __init__(self): 
     self.items=[] 

    def enqueue(self, item): 
     self.items.insert(0, item) 

    def isempty(self): 
     return self.items==[] 

    def dequeue(self): 
     if not self.isempty(): 
      return self.items.pop() 
     else: 
      raise Exception('Queue is empty') 

    def size(self): 
     return len(self.items) 

    def peek(self): 
     if not self.isempty(): 
      return self.items[-1] 
     else: 
      raise Exception('Queue is empty') 


def main(): 
    queue =Queue() 
    queue.enqueue(1) 
    queue.enqueue(2) 
    queue.enqueue(3) 
    print(queue.size()) 
    print(queue.peek()) 
    print(queue.dequeue()) 
    print(queue.peek()) 

main() 
+1

謝謝,這是正常工作 –

相關問題