对于一个作业,我创建了一个类来表示多项式,方法是将一个列表及其系数存储为类的数据成员。
尽管我在为其创建"polySequence"
的最后一个功能时遇到困难:
polySequence函数,它采用开始,结束和步骤,并返回生成器。生成器将评估多项式的值 开始,然后开始+结束,依此类推,直到结束并产生这些值1 一次。如果未给出任何步骤,则应使用步骤1(类似于 范围法)。例如,如果p代表多项式2x +1 (系数列表[1,2]),代码
for val in p.polySequence(0,5):
print(val)
应在单独的行上打印值1、3、5、7和9。
下面是我对多序列的实现:
答案 0 :(得分:0)
您似乎只将第一个参数传递给polySequence函数。您应该传递所有声明的参数(开始,停止和步进):
p = Polynomial(1, 2)
for val in p.polySequence(0, 5, 1):
print(val)
答案 1 :(得分:0)
您访问polySequence方法的方式不正确。这样只能调用静态或类方法。您需要实例化该类,然后调用polySequence方法。例如
obj = Polynomial(1, 2)
for res in obj.polySequence(0, 5, 1):
print(res)
我还能看到 start 变量在polySequence方法中的代码中始终被覆盖。如果是这样,为什么要在方法中 start 自变量?