ООП · 6 из 23
Корзина на руле
На прокатных велосипедах корзина на руле — с пределом по весу: перегрузишь, и руль уводит в сторону. Механик хочет, чтобы приложение проката не давало положить лишнее, а в конце поездки разом выкладывало всё.
Что сделать
Опишите корзину: она помнит, сколько в ней лежит, не берёт груз сверх предела и умеет разом всё выложить.
Что приходит
predel— сколько килограммов корзина выдерживает
Что должен уметь
Поля predel и zagruzka (сначала 0); polozhit(ves) — True и груз в корзине, а если выйдет больше предела — False, ничего не меняется; vylozhit() — сколько лежало, корзина пуста.
Допишите класс Korzina в редакторе справа.
Проверка создаёт его объекты и зовёт методы — то, что напечатано,
на проверку не влияет.
В корзину с пределом 5 кладут 2, 3 и 1: первые два ложатся — ровно 5 можно, — а третий нет. Ответы True, True, False, в корзине 5.
k = Korzina(5) otvety = [k.polozhit(2), k.polozhit(3), k.polozhit(1)]
(otvety, k.zagruzka)
([True, True, False], 5)
Korzina(predel) — пустая корзина: zagruzka равна 0, predel — как передали.
polozhit(ves): если zagruzka + ves не больше предела — груз ложится (zagruzka растёт на ves) и метод возвращает True. Если больше — ничего не меняется, ответ False. Ровно предел — можно.
vylozhit() возвращает, сколько было в корзине, и делает её пустой.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.