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