用python提取多项式中的系数和加数
时间: 2023-12-31 20:01:57 浏览: 39
使用Python提取多项式中的系数和加数可以通过正则表达式来实现。首先,我们需要导入re模块来使用正则表达式的功能。
代码如下:
```python
import re
def extract_coeffs_terms(poly):
# 使用正则表达式匹配多项式中的系数和加数
pattern = r"([-+]?[0-9]*\.?[0-9]+)[*]?[x]?[0-9]*"
matches = re.findall(pattern, poly)
# 对匹配到的系数和加数进行转换
coeffs = []
terms = []
for match in matches:
if 'x' in match:
terms.append(match)
else:
coeffs.append(match)
return coeffs, terms
# 测试代码
polynomial = "3x^2 + 2x - 5"
coefficients, terms = extract_coeffs_terms(polynomial)
print("系数:", coefficients)
print("加数:", terms)
```
这段代码中,我们定义了一个函数extract_coeffs_terms,该函数的参数poly为输入的多项式,返回结果为一个元组,其中第一个元素为系数列表,第二个元素为加数列表。
我们使用正则表达式`([-+]?[0-9]*\.?[0-9]+)[*]?[x]?[0-9]*`来匹配多项式中的系数和加数。匹配的结果会以列表的形式返回。
接着,我们遍历匹配结果,将带有"x"的项添加到加数列表terms中,不带"x"的项添加到系数列表coeffs中。
最后,我们使用这个函数来测试多项式"3x^2 + 2x - 5",并打印出提取的系数和加数。
运行结果为:
```
系数: ['3', '2', '-5']
加数: ['x^2', 'x']
```
这样,我们就成功地用Python提取了多项式中的系数和加数。