Python 队列实现显示函数错误

Python 队列实现显示函数错误,python,queue,Python,Queue,在初始化队列之后: class Queue: def __init__(self): '''initialization of function''' self.items = [] def is_empty(self): '''Checking if queue is empty or not''' return self.items == [] def enqueue(self, data): '''Adding value '

在初始化
队列之后

class Queue:
    def __init__(self):   '''initialization of function'''
        self.items = []
    def is_empty(self):   '''Checking if queue is empty or not'''
        return self.items == []
    def enqueue(self, data): '''Adding value '''
        self.items.append(data)
    def dequeue(self):     ''' Removing value'''
        return self.items.pop(0)
    def dis(self):  '''Printing the stored item in queue'''
        print(items)
q=Queue()
尽管如此:
打印('排队')
打印(‘出列’)
打印('dis')
打印('退出')
do=input('您想做什么?')。split()
operation=do[0]。strip().lower()
如果操作==“排队”:
q、 排队(int(do[1]))
elif操作=='dequeue':
如果q.为空():
打印('队列为空')
其他:
打印('Dequeued value:',q.dequeue())
elif操作==“dis”:
q、 dis()
elif操作==“退出”:
打破
其他:
打印(“输入正确的操作”)

我无法显示在
队列
中排队的项目。如何使用
dis()
方法显示其中的项目?

您认为应该打印self.items(而不是items)

def dis(self):“打印队列中存储的项目”
打印(自选项目)
这将使用标准格式输出列表,不太美观,因此您可能需要添加一些额外的逻辑以进行美观打印

如果要限制队列大小,只需忽略超过某个限制的项即可。为此,您需要实现一个限制,以及检查限制的逻辑。例如:

类队列:
定义初始化(self,size=8):“函数初始化”
self.items=[]
self.size=大小
def为空(self):''检查队列是否为空''
返回self.items==[]
def排队(自身,数据):“添加值”
如果透镜(自身项目)<自身尺寸:
self.items.append(数据)
其他:
队列已满时的pass#行为
def dequeue(自身):“正在删除值”
返回self.items.pop(0)
def dis(self):“打印队列中存储的项目”
打印(项目)

您认为应该打印self.items(而不是items)

def dis(self):“打印队列中存储的项目”
打印(自选项目)
这将使用标准格式输出列表,不太美观,因此您可能需要添加一些额外的逻辑以进行美观打印

如果要限制队列大小,只需忽略超过某个限制的项即可。为此,您需要实现一个限制,以及检查限制的逻辑。例如:

类队列:
定义初始化(self,size=8):“函数初始化”
self.items=[]
self.size=大小
def为空(self):''检查队列是否为空''
返回self.items==[]
def排队(自身,数据):“添加值”
如果透镜(自身项目)<自身尺寸:
self.items.append(数据)
其他:
队列已满时的pass#行为
def dequeue(自身):“正在删除值”
返回self.items.pop(0)
def dis(self):“打印队列中存储的项目”
打印(项目)
对items=[]进行序列化,并在dis方法中添加self.items。此外,您还可以检查队列大小是否已满


将项目序列化=[]并在dis方法中添加self.items。此外,您可以检查队列大小是否已满

我想您是指打印(self.items)是的dis方法dis方法不这样做。我想您是指打印(self.items)是的,dis方法dis方法不这样做。您可以帮助设置队列大小的限制吗?您可以帮助设置队列大小的限制吗
 q = Queue()
 while True:
     print('enqueue <value>')
     print('dequeue')
     print('dis')
     print('quit')
     do = input('What would you like to do? ').split()
     operation = do[0].strip().lower()
     if operation == 'enqueue':
         q.enqueue(int(do[1]))
     elif operation == 'dequeue':
         if q.is_empty():
             print('Queue is empty.')
         else:
             print('Dequeued value: ', q.dequeue())
     elif operation == 'dis':
         q.dis()
     elif operation == 'quit':
         break
     else:
         print("Enter the correct operation")
class Queue:
    items=[]
    size=5
    def __init__(self):
        self.items = []

    def is_empty(self):
        return self.items == []
    def enqueue(self, data):
        self.items.append(data)

    def dequeue(self):
        return self.items.pop(0)
    def dis(self):
        print(self.items)
    def is_full(self):
        if (len(self.zitems)>5):
            print("Queue is full")
        else:
            print("Not full")