首页 > 解决方案 > 如何为我的班级构建多项式序列?

问题描述

对于作业,我创建了一个类来表示多项式,方法是存储一个包含其系数的列表,作为该类的数据成员。

虽然我无法为其创建最后一个函数"polySequence"

一个函数 polySequence,它接受一个开始、结束和步骤,并返回一个生成器。生成器将计算多项式的值 start,然后 start + end,依此类推,直到 end 并一次产生一个值。如果未给出步长,则应使用步长 1(类似于范围方法)。例如,如果 p 表示多项式 2x + 1(系数列表 [1,2]),则代码

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

应该在不同的行上打印值 1、3、5、7 和 9。

这是我在底部对多序列的实现:

标签: pythonpython-3.xclassoop

解决方案


您访问 polySequence 方法的方式不正确。只有静态或类方法被这样调用。您需要实例化该类,然后调用 polySequence 方法。例如

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

我还可以看到start变量总是在 polySequence 方法中的代码中被覆盖。如果是这样,为什么要在方法中开始参数?


推荐阅读