Реализован программный модуль по методологии ООП для расчета и отображения информации о прошедшей тренировке по данным от блока датчиков.
class Training
- action - основное считываемое действие во время тренировке (шаг - бег, ходьба; гребок - плавание);
- duration - длительность тренировки;
- weight - вес спортсмена;
- M_IN_KM= 1000 - коэффициент перевода из метров в километры;
- LEN_STEP= 0.65 - длина шага;
- get_distance() - метод возвращает значение дистанции приодоленной за тренировку
шаг * длина_шага / коэффициент_перевода
- get_mean_speed() - метод возвращает значение средней скорости движения во время тренировки
дистанция / длительность
- get_spent_calories() - метод возвращает число потраченных колорий
- show_training_info() - метод возвращает объект информационного сообщения
Класс беговой тренировки
class Running
наследуюутся
пререопределить метод:
- get_spent_calories() - метод возвращает число потраченных колорий
(18 * скорость - 20) * вес / 1000 * время_тренировки * 60
Класс спортивной ходьбы
class SportsWalking
Добавляемые свойства:
- height - рост
пререопределить метод:
- get_spent_calories() - метод возвращает число потраченных колорий
(0.035 * вес + (скорость ** 2 // рост) * 0.029 * вес) * длительность * 60
Класс тренировки в бассейне
class Swimming
Добавляемые свойства:
- length_pool - длина бассейна
- count_pool - количество проплытых бассейнов
пререопределить метод:
- get_mean_speed() - метод возвращает значение средней скорости движения во время тренировки
длина_бассейна * количество_бассейнов / коэф_пресчета_из_м_в_км / длительность
- get_spent_calories() - метод возвращает число потраченных колорий
(скорость + 1.1) * 2 * вес
class InfoMessage
- training_type - тип тренировки
- duration - длительность тренировки
- distance -дистанция приодоленная за тренировку
- speed - средняя скорость движения во время движения
- calories - потраченные за время тренировки килокалории
- get_message() - метод выводит в терминал информационное сообщени о пройденной тренировке
'Тип тренировки: {training_type}; Длительность: {duration} ч.; Дистанция: {distance} км; Ср. скорость: {speed} км/ч; Потрачено ккал: {calories}.'
def read_package()
- Вызывает функцию печати стартового сообщения
- Получает эмулированные данные пакета через терминал
- Возвращает объект класса тренировки, определнные по длине пакета
def get_start_message()
- Выводит в терминал стартовое сообщение
def main(training)
- получает на вход типа Training
- результат выполнения - вывод информационного сообщения из созданного объекта типа InfoMessage