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