![](/img/trans.png)
[英]I am getting error while running this python code. The error is “ElementNotInteractableException”. Can any on help me out?
[英]Why I am getting this error while applying this code. I have enclosed the error and code below?
class Queue:
def __init__(self,size):
self.front=self.rear=-1
self.Q=list()
self.size=size
def empty(self):
return self.front==self.rear
def full(self):
return self.rear==self.size-1
def enqueue(self,item):
if self.full():
print("Stack Overflow")
return
else:
self.rear+=1
self.Q[self.rear]=item
def dequeue(self):
if self.empty():
print("Stack Underflow")
return
else:
a=-1
self.front+=1
a=self.Q[self.front]
return a
原因很简单。 您收到IndexError
这意味着您正在尝试读取/写入列表中不存在的索引。 解决这个问题的关键是在__init__
方法中使用None
或0
初始化列表。
def __init__(self, size):
self.front = self.rear=-1
self.size = size
self.Q = [None for i in range(self.size)] # Initializes the list with `None` values
在这里,列表填充了None
值的size
编号。 这使得使用索引访问值成为可能。
您收到错误,因为列表中没有元素。
如果列表在索引i
处没有元素,则不能使用 list[i]
如果要添加元素,可以使用list.append(element)
你的功能变成:
def enqueue(self,item):
if self.full():
print("Stack Overflow")
return
else:
self.rear+=1
self.Q.append(item)
如果你能解释更多关于你为什么使用后前等,我可以帮助你更多。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.