diff --git a/task1.py b/task1.py new file mode 100644 index 0000000..00f8bae --- /dev/null +++ b/task1.py @@ -0,0 +1,28 @@ +class Case: + def __init__(self, test_case_id, name, step_description, expected_result): + self.test_case_id = test_case_id + self.name = name + self.step_description = step_description + self.expected_result = expected_result + + def print_test_case_info(self): + print(f"ID тест-кейса: {self.test_case_id}" + f"\nНазвание: {self.name}" + f"\nОписание шага: {self.step_description}" + f"\nОжидаемый результат: {self.expected_result}") +class ExtendedCase(Case): + def __init__(self, test_case_id, name, step_description, expected_result, precondition, environment): + self.precondition = precondition + self.environment = environment + super().__init__(test_case_id, name, step_description, expected_result) + + def print_test_case_info(self): + print(f"ID тест-кейса: {self.test_case_id}" + f"\nНазвание: {self.name}" + f"\nПредусловие: {self.precondition}" + f"\nОписание шага: {self.step_description}" + f"\nОжидаемый результат: {self.expected_result}" + f"\nОкружение: {self.environment}") + +case1 = ExtendedCase('1', 'Наличие кнопки Принять', '1. Открыть вкладку приёма документов 2. Проверить наличие кнопки ', 'Кнопка доступна', 'Открыть сервис', 'Яндекс Браузер') +case1.print_test_case_info() \ No newline at end of file diff --git a/task2.py b/task2.py new file mode 100644 index 0000000..6322628 --- /dev/null +++ b/task2.py @@ -0,0 +1,30 @@ +class Movies: + def __init__(self): + self.movies = [] + + def add_movie(self, movie): + self.movies.append(movie) + return self.movies + +class Comedy(Movies): + def __init__(self): + super().__init__() + return f"Комедии: {self.movies}" + +class Comedy(Movies): + def add_movie(self, movie): + super().add_movie(movie) + return f"Комедии: {self.movies}" + +class Drama(Movies): + def add_movie(self, movie): + super().add_movie(movie) + return f"Драмы: {self.movies}" + +comedy = Comedy() +print(comedy.add_movie("Большой куш'")) + +drama = Drama() +print(drama.add_movie("Оружейный барон")) + + diff --git a/task3.py b/task3.py new file mode 100644 index 0000000..c02836a --- /dev/null +++ b/task3.py @@ -0,0 +1,47 @@ +class PointsForPlace: + @staticmethod + def get_points_for_place(place): + points = 0 + if place > 100: + print('Баллы начисляются только первым 100 участникам') + points = 0 + elif place < 1: + print('Спортсмен не может занять нулевое или отрицательное место') + points = 0 + else: + points = 101 - place + + return points + + +class PointsForMeters: + @staticmethod + def get_points_for_meters(meters): + points = 0 + if meters < 0: + print('Количество метров не может быть отрицательным') + points = 0 + else: + points = meters * 0.5 + + return points + + +class TotalPoints(PointsForPlace, PointsForMeters): + + def get_total_points(self, meters, place): + place_points = self.get_points_for_place(place) + meters_points = self.get_points_for_meters(meters) + self.total = place_points + meters_points + return self.total + +points_for_place = PointsForPlace() +print(points_for_place.get_points_for_place(10)) + +points_for_meters = PointsForMeters() +print(points_for_meters.get_points_for_meters(10)) + +total_points = TotalPoints() +print(total_points.get_points_for_place(10)) +print(total_points.get_points_for_meters(10)) +print(total_points.get_total_points(100, 10)) \ No newline at end of file diff --git a/task4.py b/task4.py new file mode 100644 index 0000000..1a565f8 --- /dev/null +++ b/task4.py @@ -0,0 +1,29 @@ +class EmployeeSalary: + hourly_payment = 400 + + def __init__(self, name, hours, rest_days, email): + self.name = name + self.hours = hours + self.rest_days = rest_days + self.email = email + + @classmethod + def get_hours(cls, name, hours, rest_days, email): + if not hours: + hours = (7 - rest_days) * 8 + return cls(name, hours, rest_days, email) + + @classmethod + def get_email(cls, name, hours, rest_days, email): + if email is not None: + return (cls, name, hours, rest_days, email) + else: + return f"{name}@email.com" + + @classmethod + def set_hourly_payment(cls, new_payment): + cls.hourly_payment = new_payment + + def salary(self): + return self.hours * self.hourly_payment + diff --git a/task5.py b/task5.py new file mode 100644 index 0000000..f7a68e4 --- /dev/null +++ b/task5.py @@ -0,0 +1,42 @@ +class Results: + def __init__(self, victories, draws, losses): + self.victories = victories + self.draws = draws + self.losses = losses + +class Football(Results): + def number_of_wins(self): + return f"Футбольных побед: {self.victories}" + + def number_of_draws(self): + return f"Футбольных ничьих: {self.draws}" + + def number_of_losses(self): + return f"Футбольных поражений: {self.losses}" + + def total_points(self): + points = 3 * self.victories + self.draws + return f"Общее количество очков: {points}" + +class Hockey(Results): + def number_of_wins(self): + return f"Хоккейных побед: {self.victories}" + + def number_of_draws(self): + return f"Хоккейных ничьих: {self.draws}" + + def number_of_losses(self): + return f"Хоккейных поражений: {self.losses}" + + def total_points(self): + points = 2 * self.victories + self.draws + return f"Общее количество очков: {points}" + +football_team = Football(2, 2, 2) +hockey_team = Hockey(2,2,2) + +for team in (football_team, hockey_team): + print(team.number_of_wins()) + print(team.number_of_draws()) + print(team.number_of_losses()) + print(team.total_points())