Как мне построить полиномиальную последовательность для моего класса? - PullRequest
1 голос
/ 09 июня 2019

Для назначения я создал класс для представления полинома, сохранив список с его коэффициентами в качестве члена данных класса.

  • Первый элемент списка (индекс 0) представляет константу;
  • второй (индекс 1) представляет коэффициент члена x и так далее,
  • , причем каждый следующий элемент представляет коэффициент следующей степени многочлена.

Хотя у меня возникают проблемы при создании последней функции для него "polySequence":

Функция polySequence, которая принимает начало, конец и шаг и возвращает генератор.Генератор будет оценивать полином для значения начала, затем начала + конца и т. Д. До конца и выдает эти значения по одному за раз.Если шаг не указан, следует использовать шаг 1 (аналогично методу диапазона).Например, если p представляет полином 2x + 1 (список коэффициентов [1,2]), код

for val in p.polySequence(0,5):
    print(val)

должен вывести значения 1, 3, 5, 7 и 9в отдельных строках.

Вот моя реализация Polysequence внизу:

Ответы [ 2 ]

0 голосов
/ 09 июня 2019

Способ доступа к методу polySequence неверен. Только статические или классовые методы вызываются так. Вам нужно создать экземпляр класса и затем вызвать метод polySequence. например

obj = Polynomial(1, 2)
for res in obj.polySequence(0, 5, 1):
    print(res)

Также я вижу, что переменная start всегда перезаписывается в вашем коде внутри метода polySequence. Если это так, почему начать аргумент в методе?

0 голосов
/ 09 июня 2019

Похоже, вы передали только первый аргумент функции polySequence.Вы должны передать все объявленные аргументы (start, stop и step):

p = Polynomial(1, 2)
for val in p.polySequence(0, 5, 1):
    print(val)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...