Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите разобраться с задачей на Python

Союз Здравых Сил Профи (554), закрыт 2 года назад
Условие:
"Даны три вещественных числа a, b, c. Напишите программу, которая находит вещественные корни квадратного уравнения
ax^2 + bx + c = 0.
Программа должна вывести вещественные корни уравнения если они существуют или текст «Нет корней» в противном случае.
Если уравнение имеет два корня, то следует вывести их в порядке возрастания."

Вот мой код:
from math import *
a = float(input())
b = float(input())
c = float(input())
a != 0
d = b ** 2 - 4 * a * c
if d > 0:
x1 = (-b + sqrt(d)) / 2 * a
x2 = (-b - sqrt(d)) / 2 * a
print(min(x1, x2))
print(max(x1, x2))
elif d == 0:
x1 = -b / (2 * a)
print(x1)
elif d < 0:
print('Нет корней')

Проверял в IDE (находил в интернете уравнения, подставлял числа, ответы всегда правильные, при любом значении дискриминанта), но когда я отправляю код на проверку там где я учусь(отдельная платформа), вылезает ошибка - просто ошибка, без конкретной проблемы
Лучший ответ
Vitness Просветленный (35240) 2 года назад
Может числа в одну строку вводятся?
Союз Здравых СилПрофи (554) 2 года назад
Не, там написано на разных
Vitness Просветленный (35240) данила катышев, Вывод двух корней тоже? Тогда трудно сказать чисто наугад...
VitnessПросветленный (35240) 2 года назад
А тип ошибки написан? WA / TL / RE
Союз Здравых Сил Профи (554) Vitness,
Остальные ответы
Андрей Высший разум (481638) 2 года назад
 import math
a, b, с = [float(input()) for _ in range(3)]
b /= 2.0
d = b * b - a * c
if d < 0.0: print('Нет корней'); exit()
if a == 0.0: print(-c / (2 * b) if b else 'Нет корней'); exit()
q, t = -b / a, abs(math.sqrt(d) / a)
print(*([q - t, q + t] if t else [q]))
Виктор Мальков Мудрец (10399) 2 года назад
2*a в скобочки в двух местах
Союз Здравых СилПрофи (554) 2 года назад
Теперь так
KRISA Ученик (214) Союз Здравых Сил, Я бы x1 и x2 написала бы до условия if. А 2 print'a потом с отступом
Союз Здравых СилПрофи (554) 2 года назад
Вроде у меня даже скобки написаны были, просто код сюда скопировал чуть старее
KRISAУченик (214) 8 месяцев назад
x1 и x2 все таки после else
KRISAУченик (214) 8 месяцев назад
и отступы соблюсти, здесь что-то не работает форматирование
Алёна Новикова Ученик (117) 5 месяцев назад
from math import*
a = float(input())
b = float(input())
c = float(input())
d = b ** 2 - 4 * a * c
if d > 0:
x1 = (-b - sqrt(d)) /(2 * a )
x2 = (-b + sqrt(d)) /(2 * a )
print(min(x1, x2))
print(max(x1, x2))
elif d == 0:
x1 = -b / (2 * a)
print(x1)
elif d < 0:
print('Нет корней')
Похожие вопросы