помогите исправить код на питоне!
Я написала код на следующую задачу:
Даны действительные коэффициенты a, b, c, при этом a≠0. Решите квадратное уравнение ax2+bx+c=0 и выведите все его корни.
Входные данные:
Вводятся три действительных числа.
Выходные данные:
Если уравнение имеет два корня, выведите два корня в порядке возрастания, если один корень — выведите одно число, если нет корней — не выводите ничего.
Примеры:
входные данные:
1
-1
-2
выходные данные:
-1 2
Код на предложенном в задаче тесте (1, -1, -2) выдает правильный ответ, но проверяющая система (информатикс) пишет, что на 4 из 12 тестов мой код выдает неверный ответ, помогите пожалуйста!!!
мой код:
forest = float(input())
magic = float(input())
mushroom = float(input())
D = magic ** 2 - 4 * forest * mushroom
if D < 0:
e = 1
elif D == 0:
print(int((-magic)/2*forest))
elif D > 0:
q = ((-magic) - (D**0.5))/2*forest
w = ((-magic) + (D**0.5))/2*forest
print(int(q), int(w))
Ответы (2 шт):
Задача про поиск корней через дискриминант.
a = float(input())
if a != 0:
b = float(input())
c = float(input())
D = b**2 - 4*a*c
if D > 0:
x1 = (-b + D**(1/2))/(2*a)
x2 = (-b - D**(1/2))/(2*a)
if x1 < x2:
print(x1, x2)
else:
print(x2, x1)
elif D == 0:
x = -b/(2*a)
print(x)
Хм, немного запутался в переменных, но вот функция которую я писал для нахождения D Попробуй воспользоваться ей (заменив переменные).
def D(a,b,c):
# D= b**2-4ac
return (b**2)-(4*a*c)
И код D под твою задачу
forest=float(input())
magic=float(input())
mushroom=float(input())
D= (magic ** 2) - (4 * forest * mushroom)
if D<0:
e=1
elif D==0:
print(float((-magic)/2*forest))
elif D>0:
q=((-magic)-(D**0.5))/(2*forest)
w=((-magic)+(D**0.5))/(2*forest)
print(float(q), float(w))
P.S. Если не поможет, то сори( Я только недавно учу питон
