ООП · 14 из 14
От дешёвого к дорогому
Список велосипедов на сайте хочется показывать от дешёвых к дорогим. sorted(velosipedy) отвечает, что велосипеды сравнивать нельзя, и каждый вызов приходится снабжать key=lambda v: v.tarif.
Что сделать
Научите велосипеды сравниваться, чтобы список на сайте сортировался от дешёвых к дорогим без key.
Что приходит
nomer— номер на раме, строкаtarif— сколько стоит час, целое
Что должен уметь
a < b по тарифу, при равном тарифе — по номеру; sorted, min, max работают без key; с не-велосипедом — NotImplemented.
Допишите класс Velosiped в редакторе справа.
Проверка создаёт его объекты и зовёт методы — то, что напечатано,
на проверку не влияет.
a = Velosiped('A-1', 50)
b = Velosiped('B-2', 80)
a < b
True
Класс Velosiped принимает номер и тариф. Сделайте так, чтобы велосипеды сравнивались по тарифу: a < b, sorted(spisok), min(spisok) и max(spisok) работали без key.
При равных тарифах порядок определяется номером по алфавиту — иначе список будет перестраиваться от запуска к запуску. Сравнение с не велосипедом даёт NotImplemented, чтобы Python сам поднял понятную ошибку.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.