помогите исправить код на питоне!

Рейтинг: 0Ответов: 2Опубликовано: 12.04.2023

Я написала код на следующую задачу:

Даны действительные коэффициенты 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)

▲ 0

Хм, немного запутался в переменных, но вот функция которую я писал для нахождения 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. Если не поможет, то сори( Я только недавно учу питон