IndentationError: unindent does not match any outer indentation level

D1naaaraaaa

Новичок
Пользователь
Июн 24, 2020
1
0
1
1593002830265.png
Не могу понять что не так с табуляцией

Python:
import heapq

from collections import namedtuple



Task = namedtuple('Task', 'priority, id, content')



class TaskFlow:

    def __init__(self):

        self._queue = []

        self._id = 0



    def add_task(self, priority, content):

        self._id += 1



# минус priority, чтобы доставать задачи с наибольшим приоритетом

    

heapq.heappush(self._queue,

                    Task(-priority, self._id, content))

        return self._id



    def pop(self) -> Task:

        # мы извлекаем наименьший элемент

        # в кортеже 3 элемента, сравнение идет слева направо

        # сначала по приоритету с минусом (т.е. достаем наибольший приоритет)

        # если приотритеты равны, то с наименьшим id (т.е. тот, что был добавлен раньше)

        return heapq.heappop(self._queue)



    def empty(self):

        return not self._queue



flow = TaskFlow()



# добавим задачи в разнобой

flow.add_task(90, 'умывание')

flow.add_task(10, 'мыть тарелки')

flow.add_task(100, 'подъем')

# если приоритет одинаковый - сначала будет более раннее, затем позднее

flow.add_task(50, 'готовить завтрак')

flow.add_task(50, 'завтракать')



# пока есть задачи, будем доставать их и печатать

while not flow.empty():

    print(flow.pop())
 
Последнее редактирование модератором:

Student

throw exception
Команда форума
Администратор
Апр 2, 2020
195
103
43
Москва
Ошибка на 18 линии. Если хотите продолжить выражение на новой строке, то воспользуйтесь обратной черточкой, а не табами или пробелом.

Python:
heapq.heappush(self._queue, \
               Task(-priority, self._id, content))
 

Форум IT Специалистов