code: def chain_generator(self):
          
          n_chain = self.chain_order
          if n_chain < 1:
              raise MarkovTextExcept(
                  "Цепь не может быть {0}-порядка.".format(n_chain)
              )
          n_chain += 1  # Последнее значение - результат возврата.
          changing_array = deque(maxlen=n_chain)
          for token in self.tokens_array:
              changing_array.append(token)
              if len(changing_array) < n_chain:
                  continue  # Массив ещё неполон.
              yield (tuple(changing_array)[:-1], changing_array[-1])
docs: Возвращает генератор, формата:
              (("токен", ...), "вариант")
              Где количество токенов определяет переменная объекта chain_order.