@Kamral
ПРОГРАММИСТ

Как создать объекты класса для Class InfoMessafe используя метод show_training_info() который находится в базовом классе Training?

Свойства класса InfoMessage:
training_type — имя класса тренировки;
duration — длительность тренировки в часах;
distance — дистанция в километрах, которую преодолел пользователь за время тренировки;
speed — средняя скорость, с которой двигался пользователь;
calories — количество килокалорий, которое израсходовал пользователь за время тренировки.

""" Класс Class InfoMessage
from typing import Union

class InfoMessage:
'''Переменные класса IngoMessage'''
training_type:str
duration:Union[int,float]
distance:Union[int,float]
speed:Union[int,float]
calories:Union[int,float]

def __init__(self, training_type,duration,distance,speed, calories):
self.training_type=training_type
self.duration=duration
self.distance=distance
self.speed=speed
self.calories=calories

def get_message(self)->str:
return (f'Тип тренировки: {self.training_type};'
f'Длительность:{self.duration:.3f} ч;'
f'Дистанция: {self.distance:.3f} км;'
f'Средняя скорость: {self.speed:.3f};'
f'Потрачено ккал:{self.calories:.3f}')

class Training:
'''расстояние, которое спортсмен преодолевает за один шаг или гребок'''
LEN_STEP:Union[int,float]=0.65
'''константа для перевода значений из метров в километры. Её значение — 1000'''
M_IN_KM:int=1000
'''количество совершённых действий (число шагов
при ходьбе и беге либо гребков — при плавании);
'''
action:int
'''длительность тренировки;'''
duration:float
''' вес спортсмена.'''
weight:float

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

def get_distance(self)->Union[int,float]:
'''
возвращает дистанцию (в километрах),
которую преодолел пользователь за время тренировки
'''
result=self.action*self.LEN_STEP/self.M_IN_KM
return result

def get_mean_speed(self)->Union[int,float]:
'''возвращает значение средней скорости движения во время тренировки.'''
mean_spead=self.action*self.LEN_STEP/self.duration
return mean_spead

def get_spent_calories(self)->None:
'''возвращает количество килокалорий, израсходованных за время тренировки'''
pass

def show_training_info(self)->InfoMessage:
pass
  • Вопрос задан
  • 1250 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы