给定两个一元多项式和一个运算符号【+、-、*】,请编写程序实现对应运算符号的两个一元多项式的运算,并输出结果。 输入描述: 第一行给出第一个多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数
时间: 2024-12-20 21:28:30 浏览: 16
在Python中,你可以使用列表存储每个多项式的系数和对应的指数。以下是一个简单的示例,如何实现这个功能:
def polynomial_operation(poly1, poly2, op):
# 解析输入字符串并转换为系数和指数列表
def parse_poly(coeff_str):
return [int(coeff) for coeff in coeff_str.split()]
# 根据操作符计算新的多项式
def apply_op(poly1, poly2):
if op == '+':
result = []
for a, b in zip(poly1, poly2):
result.append(a + b)
return result
elif op == '-':
result = []
for a, b in zip(poly1, poly2):
result.append(a - b)
return result
elif op == '*':
result = [a * b for a, b in zip(poly1, poly2)]
return result
else:
raise ValueError("Invalid operation symbol.")
# 获取输入多项式
n1 = int(input())
poly1_coeffs = parse_poly(input())
n2 = int(input())
poly2_coeffs = parse_poly(input())
# 对应运算并输出结果
if n1 == 0 or n2 == 0: # 如果有一个多项式是常数
output_poly = [0] * (max(n1, n2) + 1)
else:
output_poly = apply_op(poly1_coeffs, poly2_coeffs)
output_str = " ".join(str(coeff) for coeff in output_poly)
print(output_str)
# 调用函数并处理用户输入
polynomial_operation("", "", "+") # 使用实际的输入替换空字符串
在这个示例中,parse_poly
函数将输入的系数字符串解析成整数列表,apply_op
函数根据给定的操作符执行相应的运算。然后,我们获取两个多项式的系数,并应用 apply_op
来得到结果。