![](/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.