以上是第一个问题要求
以上是第二个问题要求
并且让在给定的命名class下编写
原始题目的链接地址或者文件可以发一下,有几个地方还是有点补全。有原始文件更好
这两个task主要考察python类以及内部方法的使用。
第一个任务:
1、init方法用于接收参数
2、__str__
函数用于将类信息以字符串的方式输出。因为已经给出了多项式的展示格式,所以需要对__str__
方法进行重写。
第二个任务:
1、多项式取负,可以对所有系数取一次负数, 也可以增加一个负数标志位,看个人写法。
2、多项式加、减法类似,都是对同级系数操作
3、多项式乘法,这个地方需要注意,低次相乘会变成高次。
因为只是一个练习,没有写成通用方法,多项式乘法部分有些啰说。
具体代码如下:
class Polynomial:
# task 1
def __init__(self, coefficients):
self.neg_flag = False
self.c0 = int(coefficients[0])
self.c1 = int(coefficients[1])
self.c2 = int(coefficients[2])
self.c3 = None
self.c4 = None
def __str__(self):
if self.neg_flag:
c0_pos_val = -self.c0
c1_pos_flag = "-" if -self.c1 < 0 else "+"
c2_pos_flag = "-" if -self.c2 < 0 else "+"
else:
c0_pos_val = self.c0
c1_pos_flag = "-" if self.c1 < 0 else "+"
c2_pos_flag = "-" if self.c2 < 0 else "+"
str = "{0} {1} {2}x {3} {4}x^2".format(
c0_pos_val, c1_pos_flag, abs(self.c1), c2_pos_flag, abs(self.c2))
if self.c3:
c3_pos_flag = "-" if self.c3 < 0 else "+"
str += " {0} {1}x^3".format(c3_pos_flag, self.c3)
if self.c4:
c4_pos_flag = "-" if self.c4 < 0 else "+"
str += " {0} {1}x^4".format(c4_pos_flag, self.c4)
return str
def deg(self):
pass
def evaluate(self, x):
pass
if __name__ == "__main__":
print(eval(input()))