Untitled
unknown
plain_text
3 years ago
3.1 kB
14
Indexable
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)Editor is loading...