ООП · 4 из 23
Фонарь с одной кнопкой
На руле у прокатных велосипедов фонарь с одной кнопкой. Короткое нажатие переключает по кругу: выключен — горит — мигает — выключен. Долгое нажатие гасит из любого режима. Механик хочет знать, сколько раз фонарь включали за смену, — так видно, кто катается затемно.
Что сделать
Опишите фонарь с одной кнопкой: режимы по кругу, долгое нажатие гасит, включения считаются.
Что приходит
Ничего: объект создаётся без аргументов.
Что должен уметь
Поля rezhim ("выкл", "горит" или "мигает") и vklyucheniy; методы nazhat() и nazhat_dolgo() — оба возвращают новый режим.
Допишите класс Fonar в редакторе справа.
Проверка создаёт его объекты и зовёт методы — то, что напечатано,
на проверку не влияет.
Новый фонарь выключен. Три коротких нажатия: "горит", "мигает", "выкл". Включали его один раз: rezhim — "выкл", vklyucheniy — 1.
f = Fonar() otvety = [f.nazhat(), f.nazhat(), f.nazhat()]
(otvety, f.rezhim, f.vklyucheniy)
(['горит', 'мигает', 'выкл'], 'выкл', 1)
Fonar() — новый фонарь: rezhim равен "выкл", vklyucheniy — 0.
nazhat() — короткое нажатие: "выкл" → "горит" → "мигает" → "выкл" и снова по кругу. Возвращает новый режим.
nazhat_dolgo() — долгое нажатие: режим становится "выкл", из какого бы ни был. Возвращает "выкл".
vklyucheniy — сколько раз фонарь перешёл из "выкл" в "горит". Переход из «горит» в «мигает» включением не считается: фонарь и так светил.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.