Я очень новичок в программировании на 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