/
elrdn
/
python_syntax_practice
Обзор
Документация
Войти
/
elrdn
/
python_syntax_practice
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
15_oop_properties/tasks.py
69 строк
2 KB
Elraden
Add advanced OOP practice topics
27 май 2026, 13:53
27 май 2026, 13:53
3d12636
Код
Авторство
О чём код?
""" Тема 15. property и сеттеры """ # Задание 1 # Создайте класс CourseProgress. # В __init__ принимайте student_name и percent. # Храните процент выполнения во внутреннем атрибуте _percent. # Добавьте property percent, который возвращает _percent. # Создайте объект и выведите progress.percent. # TODO: решение # Задание 2 # Добавьте в CourseProgress сеттер для percent. # Процент не может быть меньше 0 или больше 100. # В __init__ используйте self.percent = percent, чтобы начальное значение тоже проходило проверку. # TODO: решение # Задание 3 # Создайте класс Passport. # В __init__ принимайте number. # Храните номер во внутреннем атрибуте _number. # Добавьте property number без сеттера. # Проверьте, что номер можно прочитать через passport.number. # TODO: решение # Задание 4 # Создайте класс Circle. # В __init__ принимайте radius. # Добавьте property diameter, который возвращает диаметр. # Добавьте property area, который возвращает площадь круга. # Для числа pi можно использовать 3.14. # TODO: решение # Задание 5 # Создайте класс StorageBox. # Внутри храните _items_count. # Добавьте property items_count только для чтения. # Добавьте методы add_items(count) и remove_items(count). # Нельзя добавлять или убирать количество меньше или равное 0. # Нельзя убрать больше предметов, чем есть в коробке. # TODO: решение # Задание 6 # Создайте класс Speed. # Внутри храните скорость в километрах в час. # Добавьте property kmh с сеттером. # Скорость не может быть отрицательной. # Добавьте property ms, который возвращает скорость в метрах в секунду по формуле: # kmh / 3.6 # TODO: решение