Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2018, 15:35   #1
AlexBrave
Новичок
Джуниор
 
Регистрация: 27.03.2018
Сообщений: 9
По умолчанию Python ...где ошибка? решить квадратное уравнение

Код:
import math
def solve_quadratic_equation(a, b, c):
    D = b**2 - (4 * a * c)
    if D > 0:
        x1 = (- b + math.sqrt(D)) / 2 * a
        x2 = (- b - math.sqrt(D)) / 2 * a
        return x1, x2
    if D == 0:
        x = - b / (2 * a)
        return x, None
    else:
        return None, None

print(solve_quadratic_equation(10, 2, 0))
TEST FAILED:
INPUT : (10, 2, 0)
EXPECTED : (0, -0.2)
ACTUAL : (0.0, -20.0)


_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 27.03.2018 в 15:43.
AlexBrave вне форума Ответить с цитированием
Старый 27.03.2018, 15:44   #2
AlexBrave
Новичок
Джуниор
 
Регистрация: 27.03.2018
Сообщений: 9
По умолчанию

Упс..извините
AlexBrave вне форума Ответить с цитированием
Старый 27.03.2018, 15:48   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от AlexBrave Посмотреть сообщение
Код:
x1 = (- b + math.sqrt(D)) / 2 * a
        x2 = (- b - math.sqrt(D)) / 2 * a
ошибка в том, что нужно делить на 2*a, а Вы делите на 2 и потом умножаете на a

пробуйте:
Код:
    if D > 0:
        x1 = (- b + math.sqrt(D)) / (2 * a)
        x2 = (- b - math.sqrt(D)) / (2 * a)
        return x1, x2
p.s. и ещё. нас в школе учили, что когда дискриминант равен нулю, корня всё равно два, просто они совпадают.
я не знаю, как ваша система тестирования это оценит.
возможно, что нужно:
Код:
    if D == 0:
        x = - b / (2 * a)
        return x, x
Serge_Bliznykov вне форума Ответить с цитированием
Старый 27.03.2018, 15:53   #4
AlexBrave
Новичок
Джуниор
 
Регистрация: 27.03.2018
Сообщений: 9
По умолчанию

Спасибо, скобки забыл и в этом проблема была!!
AlexBrave вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal. Арифметическое выражение. Решить квадратное уравнение и посчитать выражение, используя вычисленные корни. dauletsergazin Паскаль, Turbo Pascal, PascalABC.NET 4 13.11.2017 11:55
Решить квадратное уравнение в Delphi snejnbumer Помощь студентам 8 19.09.2014 21:51
Даны три матрицы A, B, C. Решить квадратное уравнение Amin*x^2 + Bmin*x + Cmin = 0 (Pascal ABC.NET) марфаз Паскаль, Turbo Pascal, PascalABC.NET 13 25.12.2013 21:34