ООП · 12 из 14
Прокат целиком
Отдельные велосипеды есть, а проката нет. Нужна вещь, которая знает обо всех сразу: выдать первый свободный, вернуть по номеру, сказать, сколько свободно.
Что сделать
Сделайте прокат целиком — вещь, которая знает обо всех велосипедах сразу.
Что приходит
velosipedy— список велосипедов готового классаVelosiped
Что должен уметь
vydat_lyuboy() — выдать первый свободный и отдать его или None; vernut(nomer) — True или False; svobodnyh() — сколько свободно.
Допишите класс Prokat в редакторе справа.
Проверка создаёт его объекты и зовёт методы — то, что напечатано,
на проверку не влияет.
Прокат из A-1 и B-2. vydat_lyuboy() отдаёт A-1 — свободным остаётся один. Второй вызов отдаёт B-2, третий — None. vernut("A-1") — True, повторный — False: он уже на стойке.
p = Prokat([Velosiped('A-1', 50), Velosiped('B-2', 80)])
vzyali = p.vydat_lyuboy()
(vzyali.nomer, p.svobodnyh())
('A-1', 1)
Есть готовый класс Velosiped с полями nomer, v_prokate и методами vydat() и vernut().
Класс Prokat принимает список велосипедов и хранит его в поле velosipedy. Методы:
vydat_lyuboy()— выдаёт первый свободный по порядку и возвращает его; если свободных нет, возвращаетNone;vernut(nomer)— возвращает велосипед с этим номером на стойку и отвечаетTrue; если номера нет или он и так на стойке —False;svobodnyh()— сколько велосипедов свободно.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.