diff --git a/.shii/lab3.py b/.shii/lab3.py index 126366a..bb496d1 100644 --- a/.shii/lab3.py +++ b/.shii/lab3.py @@ -36,9 +36,6 @@ class Fraction: num = int(num) - if num <= 0: - raise ValueError("Числитель должен быть положительным") - return num @staticmethod @@ -53,17 +50,17 @@ class Fraction: den = int(den) - if den <= 0: - raise ValueError("Знаменатель должен быть положительным") + if den == 0: + raise ValueError("Знаменатель не может быть равен нулю") return den # ------------------------ # ПРОВЕРКА ПРАВИЛЬНОЙ ДРОБИ def validate_proper_fraction(self): - if self._numerator >= self._denominator: + if abs(self._numerator) >= abs(self._denominator): raise ValueError( - "Это не правильная дробь (числитель должен быть меньше знаменателя)" + "Это не правильная дробь (модуль числителя должен быть меньше модуля знаменателя)" ) # ------------------------ @@ -75,7 +72,7 @@ class Fraction: # ------------------------ # МЕТОД №2: СУММА ЦИФР ЗНАМЕНАТЕЛЯ def sum_digits_denominator(self) -> int: - return sum(int(d) for d in str(self._denominator)) + return sum(int(d) for d in str(abs(self._denominator))) # ------------------------ # СТРОКА ИНФОРМАЦИИ @@ -115,7 +112,7 @@ def main(): frac_input = input_fraction() # Константы - frac1 = Fraction(1, 2) + frac1 = Fraction("1", "2") frac2 = Fraction("32", "540") fractions = [frac_input, frac1, frac2]