Обновить app/labs/labTest.py

This commit is contained in:
cheykrym 2024-11-28 11:50:55 +03:00
parent abf38bce43
commit 5ba9131a15
1 changed files with 59 additions and 59 deletions

View File

@ -1,59 +1,59 @@
import math import math
class labTest: class labTest:
def __init__(self): def __init__(self):
pass # Конструктор пока пустой, при необходимости можно добавить параметры pass
def calc_roots(self, a, b, c): def calc_roots(self, a, b, c):
if a == 0: if a == 0:
raise ValueError("Невозможно найти корни, так как уравнение не является квадратным.") raise ValueError("Невозможно найти корни, так как уравнение не является квадратным.")
# дискриминант # дискриминант
discriminant = b ** 2 - 4 * a * c discriminant = b ** 2 - 4 * a * c
print(f"Дискриминант равен {discriminant:.2f}, ", end='') print(f"Дискриминант равен {discriminant:.2f}, ", end='')
if discriminant > 0: if discriminant > 0:
print("уравнение имеет 2 различных вещественных корня.") print("уравнение имеет 2 различных вещественных корня.")
# Два различных корня # Два различных корня
x1 = (-b + math.sqrt(discriminant)) / (2 * a) x1 = (-b + math.sqrt(discriminant)) / (2 * a)
x2 = (-b - math.sqrt(discriminant)) / (2 * a) x2 = (-b - math.sqrt(discriminant)) / (2 * a)
return [round(x1, 2), round(x2, 2)] return [round(x1, 2), round(x2, 2)]
elif discriminant == 0: elif discriminant == 0:
print("уравнение имеет 1 вещественный корень.") print("уравнение имеет 1 вещественный корень.")
# Один корень # Один корень
x = -b / (2 * a) x = -b / (2 * a)
return [round(x, 2)] return [round(x, 2)]
else: else:
print("уравнение не имеет вещественных корней.") print("уравнение не имеет вещественных корней.")
# Нет вещественных корней # Нет вещественных корней
return [] return []
# Коэффициенты уравнения # Коэффициенты уравнения
# a, b, c = 0, -3, 2 // 1 -3 2 # a, b, c = 0, -3, 2 // 1 -3 2
def main(self, a, b, c): def main(self, a, b, c):
try: try:
X = self.calc_roots(a, b, c) X = self.calc_roots(a, b, c)
if X: if X:
print(f"Корни уравнения: {', '.join(map(str, X))}.") print(f"Корни уравнения: {', '.join(map(str, X))}.")
else: else:
print("Корни уравнения отсутствуют.") print("Корни уравнения отсутствуют.")
except ValueError as e: except ValueError as e:
print(e) print(e)
def start(self): def start(self):
try: try:
a = int(input("Введите a: ")) a = int(input("Введите a: "))
b = int(input("Введите b: ")) b = int(input("Введите b: "))
c = int(input("Введите c: ")) c = int(input("Введите c: "))
self.main(a, b, c) self.main(a, b, c)
except ValueError: except ValueError:
print("Ошибка ввода: необходимо ввести целые числа для a, b и c.") print("Ошибка ввода: необходимо ввести целые числа для a, b и c.")
if __name__ == "__main__": if __name__ == "__main__":
lT = labTest() lT = labTest()
lT.start() lT.start()