From 5ba9131a1548e75426a66b17d6a214016bc1957b Mon Sep 17 00:00:00 2001 From: cheykrym Date: Thu, 28 Nov 2024 11:50:55 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20app/labs/labTest.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/labs/labTest.py | 118 ++++++++++++++++++++++---------------------- 1 file changed, 59 insertions(+), 59 deletions(-) diff --git a/app/labs/labTest.py b/app/labs/labTest.py index 36f91f4..2f7f982 100644 --- a/app/labs/labTest.py +++ b/app/labs/labTest.py @@ -1,59 +1,59 @@ -import math - - -class labTest: - - def __init__(self): - pass # Конструктор пока пустой, при необходимости можно добавить параметры - - def calc_roots(self, a, b, c): - if a == 0: - raise ValueError("Невозможно найти корни, так как уравнение не является квадратным.") - - # дискриминант - discriminant = b ** 2 - 4 * a * c - print(f"Дискриминант равен {discriminant:.2f}, ", end='') - - if discriminant > 0: - print("уравнение имеет 2 различных вещественных корня.") - # Два различных корня - x1 = (-b + math.sqrt(discriminant)) / (2 * a) - x2 = (-b - math.sqrt(discriminant)) / (2 * a) - return [round(x1, 2), round(x2, 2)] - - elif discriminant == 0: - print("уравнение имеет 1 вещественный корень.") - # Один корень - x = -b / (2 * a) - return [round(x, 2)] - - else: - print("уравнение не имеет вещественных корней.") - # Нет вещественных корней - return [] - - # Коэффициенты уравнения - # a, b, c = 0, -3, 2 // 1 -3 2 - - def main(self, a, b, c): - try: - X = self.calc_roots(a, b, c) - if X: - print(f"Корни уравнения: {', '.join(map(str, X))}.") - else: - print("Корни уравнения отсутствуют.") - except ValueError as e: - print(e) - - def start(self): - try: - a = int(input("Введите a: ")) - b = int(input("Введите b: ")) - c = int(input("Введите c: ")) - self.main(a, b, c) - except ValueError: - print("Ошибка ввода: необходимо ввести целые числа для a, b и c.") - -if __name__ == "__main__": - lT = labTest() - lT.start() +import math + + +class labTest: + + def __init__(self): + pass + + def calc_roots(self, a, b, c): + if a == 0: + raise ValueError("Невозможно найти корни, так как уравнение не является квадратным.") + + # дискриминант + discriminant = b ** 2 - 4 * a * c + print(f"Дискриминант равен {discriminant:.2f}, ", end='') + + if discriminant > 0: + print("уравнение имеет 2 различных вещественных корня.") + # Два различных корня + x1 = (-b + math.sqrt(discriminant)) / (2 * a) + x2 = (-b - math.sqrt(discriminant)) / (2 * a) + return [round(x1, 2), round(x2, 2)] + + elif discriminant == 0: + print("уравнение имеет 1 вещественный корень.") + # Один корень + x = -b / (2 * a) + return [round(x, 2)] + + else: + print("уравнение не имеет вещественных корней.") + # Нет вещественных корней + return [] + + # Коэффициенты уравнения + # a, b, c = 0, -3, 2 // 1 -3 2 + + def main(self, a, b, c): + try: + X = self.calc_roots(a, b, c) + if X: + print(f"Корни уравнения: {', '.join(map(str, X))}.") + else: + print("Корни уравнения отсутствуют.") + except ValueError as e: + print(e) + + def start(self): + try: + a = int(input("Введите a: ")) + b = int(input("Введите b: ")) + c = int(input("Введите c: ")) + self.main(a, b, c) + except ValueError: + print("Ошибка ввода: необходимо ввести целые числа для a, b и c.") + +if __name__ == "__main__": + lT = labTest() + lT.start()