Обновить 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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user