Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
3.1 kB
8
Indexable
Never
FORMAT = '%H:%M:%S' # Запишите формат полученного времени.
WEIGHT = 75  # Вес.
HEIGHT = 175  # Рост.
K_1 = 0.035  # Коэффициент для подсчета калорий.
K_2 = 0.029  # Коэффициент для подсчета калорий.
#формула подсчета калорий:  (K_1 * WEIGHT + (mean_speed ** 2 / HEIGHT) * K_2 * WEIGHT) * hours

LEN_STEP = 0.65
LEN_PADDLE = 1.38
M_IN_KM = 1000
class InfoMessage:
    """Информационное сообщение о тренировке."""
    def get_message(self):
        return f'Тип тренировки: {packages[0]}; ' \
               f'Длительность: {duration} ч.; ' \
               f'Дистанция: {distance} км; ' \
               f'Ср. скорость: {speed} км/ч; ' \
               f'Потрачено ккал: {calories}.'


class Training:
    """Базовый класс тренировки."""
    LEN_STEP = 0.65
    LEN_PADDLE = 1.38
    M_IN_KM = 1000

    def __init__(self,
                action: int,
                duration: float,
                weight: float,
                ) -> None:
        self.action = action
        self.duration = duration
        self.weight = weight

    def get_distance(self) -> float:
        """Получить дистанцию в км."""
        dist_in_km = self.action * LEN_STEP / M_IN_KM
        return dist_in_km


    def get_mean_speed(self) -> float:
        """Получить среднюю скорость движения."""
        mean_speed = self.get_distance() / self.duration
        return mean_speed

    def get_spent_calories(self) -> float:
        """Получить количество затраченных калорий."""
        spent_calories = (K_1 * self.weight + (self.get_mean_speed() ** 2 / HEIGHT)
                          * K_2 * self.weight) * self.duration
        return spent_calories


    def show_training_info(self) -> InfoMessage:
        """Вернуть информационное сообщение о выполненной тренировке."""
        pass


class Running(Training):
    """Тренировка: бег."""
    pass


class SportsWalking(Training):
    """Тренировка: спортивная ходьба."""
    pass


class Swimming(Training):
    """Тренировка: плавание."""
    pass


    def read_package(workout_type: str, data: list) -> Training:
        """Прочитать данные полученные от датчиков."""
        pass


    def main(training: Training) -> None:
        """Главная функция."""
        pass


if __name__ == '__main__':
    packages = [
        ('SWM', [720, 1, 80, 25, 40]),
        ('RUN', [15000, 1, 75]),
        ('WLK', [9000, 1, 75, 180]),
                ]

    for workout_type, data in packages:
        training = read_package(workout_type, data)
        main(training)