def click(self,floor):
self.order.append(floor)
self.label.config(text="Order list: {}".format(self.order))
# door process.
self.elevator.openDoor()
time.sleep(1)
if self.order:
self.draw_floor(FRAME_LIST[0])
self.elevator.closeDoor()
while self.order:
self.elevator.gotoFloor(self.order[0])
while len(FRAME_LIST) > 1:
time.sleep(0.5)
self.draw_floor(FRAME_LIST[0])
FRAME_LIST.pop(0)
time.sleep(0.5)
self.draw_floor(FRAME_LIST[0])
# door process.
self.elevator.openDoor()
self.draw_floor(FRAME_LIST[0])
time.sleep(1)
self.elevator.closeDoor()
self.draw_floor(FRAME_LIST[0])
self.order.pop(0)
self.label.config(text="Order list: {}".format(self.order))
if FRAME_LIST:
self.draw_floor(FRAME_LIST[0])
"self.order" is a list. this method is triggered by a few tkinter buttons. However, if I rapidly press these buttons, I got the error message "pop from empty list" , followed by my test print output "Before pop(): []". How can the list be empty inside this while loop with condition "list > []" or "list != []" ? Now, even I changed the condition to "while self.order", the error still here.