Создать класс, описывающий Буфер данных типа Fifo. Задать размер буфера. Добавить элемент. Если буфер заполнен применение данного метода возвращает первый элемент, иначе none. Затем извлечь элемент.
Если кто-то подскажет, буду очень благодарна
# -*- coding: utf-8 -*- class FIFOBufer(object): # клас описывающий Буфер данных типа Fifo def __init__(self): self._buffer = list() def add(self, item): # добавляет item в конец буфера self._buffer.append(item) def get(self): # получить из буфера первый элемент, ечли буфер пустой вернет None if len(self._buffer) > 0: return self._buffer.pop(0) else: return None def __str__(self): # содержимое буфера для print return(str(self._buffer)) if __name__ == '__main__': test=FIFOBufer() print('current buffer is: ',test) print('1-st element:', test.get()) for i in range(3): print('add {}, to bufer'.format(i)) test.add(i) print('current buffer is: ',test) #print('current buffer is: ',test) for i in range(4): value = test.get() print('get 1-st element from bufer. 1-st element = {}'.format(value)) print('current buffer is: ',test)
PEHDOMСпасибо, друг)
Если “подсказать” то обычно для FIFO уфера используют списки.Вот собственно простой пример FIFO буфера, он пока безразмерный, и все что умеет это добавить элемент в конец и получить первый элемент. Теперь вам нужно добавить задание размера для буфера, а также изменить поведение для def add чтобы “Если буфер заполнен применение данного метода возвращает первый элемент, иначе none”.