首页 > 解决方案 > 修改在多项式方程中替换的 python 列表/数组的值

问题描述

我需要帮助来创建一个具有方程根的初始正数集的语句。我必须将它们代入我的多项式方程以确定某个数字是否为根。这是我到目前为止提出的:

k = [4.0, 2.0, 1.0054, 0.9946] # Set of roots (sign-less)
pol = x**4 + 6*x**3 + 7*x**2 - 6*x - 8 # Polynomial equation
(pol(k)) <= abs(1)

输出:

array([False, False,  True,  True])

基本上,我想要的是按原样打印那些 True 并反转那些 False 的符号,因为后者给出了一个非常大的值,因此可能不是我等式的根。所需的输出应该是这样的:

[-4.0, -2.0, 1.0054, 0.9946]

我有点卡在我的第三行,因为我想不出下一步应该如何执行。任何帮助,将不胜感激。我是python编码的新手。谢谢!

标签: pythonpython-3.xpython-2.x

解决方案


代码 :

k = [4.0, 2.0, 1.0054, 0.9946]

array = ([False, False,  True,  True])

if len(k)==len(array):
    for i in range(len(k)):
        if array[i] == False:
            k[i]-=(2*k[i])

print(k)

**输出 : **

[-4.0, -2.0, 1.0054, 0.9946]

看一看,此代码会将您的 k 列表更新为所需的形式。


推荐阅读