我对Python编程非常陌生,我试图让我的二次方程求解器将x1和x2的答案“收集”到嵌套列表中。Python:通过方程结果创建嵌套列表
它解决了正确的结果方程式,我能够得到我想要的结果,但我无法将它们收集到循环结尾的相同列表中。下面的代码:
from math import sqrt
abcList = [[1, 2, 1], [9, 12, 4], [1, -7, 0], [1, -2, -3]]
for abc in abcList:
a, b, c = abc
q = b**2 - 4*a*c
if q > 0:
q_sqrt = sqrt(q)
x1 = (-b + q_sqrt)/(2*a)
x2 = (-b - q_sqrt)/(2*a)
elif q == 0:
x1 = -b/(2*a)
x2 = x1
else:
raise ValueError("q is negative.")
resultList = []
print ('x1 = ', x1)
resultList.append(x1)
print ('x2 = ', x2)
resultList.append(x2)
#print ('a = ', a, ', b = ', b, 'and c = ',c)
print (resultList)
print ('-----')
这是结果我得到:
x1 = -1.0
x2 = -1.0
[-1.0, -1.0]
x1 = -0.6666666666666666
x2 = -0.6666666666666666
[-0.6666666666666666, -0.6666666666666666]
x1 = 7.0
x2 = 0.0
[7.0, 0.0]
x1 = 3.0
x2 = -1.0
[3.0, -1.0]
-----
这是结果,我想:
x1 = -1.0
x2 = -1.0
x1 = -0.6666666666666666
x2 = -0.6666666666666666
x1 = 7.0
x2 = 0.0
x1 = 3.0
x2 = -1.0
[[-1.0, -1.0], [-0.6666666666666666, -0.6666666666666666], [7.0, 0.0], [3.0, -1.0]]
-----
减少行print(resultList)'与print('-----')'具有相同的缩进量。 (投票结束不太可能帮助其他人) –
提出的问题。 – msw