繁体   English   中英

当我运行此代码时,我收到此错误

[英]when i am running this code i am getting this error

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'

正确格式化和缩进时,它工作正常:

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()

似乎是def main():并且前面的行没有正确缩进。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM