Почему он говорит, что очередь пуста, когда это не так?

#python #list #function #queue

#python #Список #функция #очередь

Вопрос:

Вы можете видеть на итерации перед выводом очереди, но когда он переходит к удалению первого термина, он говорит, что список пуст, я не понимаю почему.

введите описание изображения здесь

                 while DistanceToEndOfCorner >= 0:

                Outputs(Speed, Distance, Time1)

                Speed, Distance, Acceleration, Time1 = ConstantSpeed(Mass, Speed, Distance, Acceleration, Time1)

                DistanceToEndOfCorner = SilverStoneCornersEnd[0] - Distance

                print("This is the distance to end of corner", (DistanceToEndOfCorner))

                print(SilverStoneCornersStart)
                print(SilverStoneCornersEnd)
                print(SilverStoneCornerRadi)

            while DistanceToEndOfCorner <= 0:

                SilverStoneCornersStart.pop(0)
                SilverStoneCornersEnd.pop(0)
                SilverStoneCornerRadi.pop(0)

                CornerNear = 0

                break
  

Это раздел, который прерывается, я пробовал без цикла while и некоторыми другими способами, но я продолжал получать эту ошибку. Когда я попытался вставить элемент в начале функции, это сработало, и я не уверен, что могло привести к тому, что он стал пустым, потому что нигде больше в коде нет ничего, что выводило бы списки.

Комментарии:

1. Пожалуйста, обновите свой вопрос всем текстом, а не изображениями текста. Также, пожалуйста, обновите отступ вашего кода. Python очень чувствителен к отступам, как и программисты на Python.

2. исправьте отступ

3. Основываясь на коде, while DistanceToEndOfCorner <= 0: сохраняется вечно ( DistanceToEndOfCorner нигде не изменяется), поэтому вы pop редактируете несколько раз, пока не достигнете пустого списка и ошибки