Обновить app/labs/labTest.py
This commit is contained in:
parent
abf38bce43
commit
5ba9131a15
|
@ -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()
|
||||
|
|
Loading…
Reference in New Issue