Фитнес-трекер, который обрабатывает данные для трёх видов тренировок: бега, спортивной ходьбы и плавания.
Этот модуль выполняет следующие функции:
- принимает от блока датчиков информацию о прошедшей тренировке,
- определяет вид тренировки,
- рассчитывает результаты тренировки,
- выводит информационное сообщение о результатах тренировки.
Информационное сообщение включает такие данные:
- тип тренировки (бег, ходьба или плавание);
- длительность тренировки;
- дистанция, которую преодолел пользователь, в километрах;
- среднюю скорость на дистанции, в км/ч;
- расход энергии, в килокалориях.
Блок датчиков фитнес-трекера передаёт пакеты данных в виде кортежа, первый элемент которого — кодовое обозначение прошедшей тренировки, второй — список показателей, полученных от датчиков устройства. Для проверки были смоделированы пакеты для каждого вида тренировки и добавлены в список packages
:
packages = [
('SWM', [720, 1, 80, 25, 40]),
('RUN', [15000, 1, 75]),
('WLK', [9000, 1, 75, 180]),
]
Последовательность данных в принимаемых пакетах:
Плавание
- Код тренировки:
'SWM'
. - Элементы списка: количество гребков, время в часах, вес пользователя, длина бассейна, сколько раз пользователь переплыл бассейн.
Бег
- Код тренировки:
'RUN'
. - Элементы списка: количество шагов, время тренировки в часах, вес пользователя.
Спортивная ходьба
- Код тренировки:
'WLK'
. - Элементы списка: количество шагов, время тренировки в часах, вес пользователя, рост пользователя.
Программа должна перебирать в цикле список пакетов, распаковывает каждый кортеж и передаёт данные в функцию read_package()
.