Дайте пожалуйста совет по решению задачи (очереди в Python)
Строки в python сравниваются, учитывая коды символов (“Я” > “Q”, “B” > “A”).
Создайте структуру данных для работы с очередями, где объекты имеют
приоритет.
Вам на вход будет подано несколько очередей, при разборе которых нужно
придерживаться правил: первой обрабатывается очередь, в которой находится
наибольшее кол-во объектов, при равных длинах очередей приоритет отдается
согласно приоритету крайнего объекта (А > B > C).
Очередь задаётся строковой последовательностью символов, например:
ABBBCAABB.
Нужно реализовать функционал:
● инициализация очереди
● добавление объекта в конец очереди
● удаление первого объекта очереди
● имплементируйте для очередей операторы сравнения очередей
, <, ==. Они должны отрабатывать в соответствии с логикой описанной в условии разбора очередей (бОльшая очередь, которая имеет бОльшую длину, а также согласно приоритету первого объекта)
ABB > BBB
AA < BBB
AA == AB
● функция/метод для разбора двух параллельных очередей
согласно логике разбора (подсказка: используйте для этого
операторы сравнения >,<,==)
● Ограничения: не используйте сложные структуры данных python
(deque и т.д.). Напишите реализацию с использованием
стандартных типов (строки, списки)
Моя попытка:
class myDeque():
def __init__(self, queue):
self.que = queue
def print_queue(self):
return print(self.que)
def add(self, object):
self.que = self.que + object
def remove(self):
self.que = self.que[:0] + self.que[1:]
return self.que
def size(self):
return len(self.que)
def parse_deques(first_que,second_que):
if first_que.size() == second_que.size():
pass
if first_que.size() > second_que.size():
pass
if first_que.size() < second_que.size():
pass
pass
a = myDeque('AABB')
a.remove()
a.add('B')
a.print_queue()
print(a.size())