forked from Turonk/character_creation_module
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Убрал ТЗ из README. Оно есть на странице задания в ЯП.
- Loading branch information
1 parent
9742b56
commit 1bce93c
Showing
1 changed file
with
1 addition
and
129 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,129 +1 @@ | ||
# Модуль расчёта и отображения полной информации о тренировках по данным от блока датчиков. | ||
|
||
## Задача | ||
Реализовать программный модуль по методологии ООП для расчёта и отображения информации | ||
о прошедшей тренировке по данным от блока датчиков. | ||
|
||
## Базовый класс | ||
```python | ||
class Training | ||
``` | ||
### Свойства класса | ||
|
||
* action — основное считываемое действие во время тренировки (шаг — бег, ходьба; гребок — плавание); | ||
* duration — длительность тренировки; | ||
* weight — вес спортсмена; | ||
* M_IN_KM = 1000 — константа для перевода значений из метров в километры; | ||
* LEN_STEP — расстояние, которое спортсмен преодолевает за один шаг или гребок. Один шаг — это `0.65` метра, один гребок — `1.38` метра. | ||
|
||
### Методы класса | ||
|
||
* get_distance() — метод возвращает значение дистанции, преодолённой за тренировку. | ||
```python | ||
# базовая формула расчёта | ||
шаг * LEN_STEP / M_IN_KM | ||
``` | ||
* get_mean_speed() — метод возвращает значение средней скорости движения во время тренировки. | ||
```python | ||
# базовая формула расчёта | ||
дистанция / длительность | ||
``` | ||
* get_spent_calories() — метод возвращает число потраченных калорий. | ||
* show_training_info() — метод возвращает объект класса сообщения. | ||
|
||
## Классы-наследники | ||
Класс беговой тренировки | ||
```python | ||
class Running | ||
``` | ||
### Свойства класса | ||
|
||
наследуются | ||
|
||
### Методы класса | ||
переопределить метод: | ||
* get_spent_calories() — метод возвращает число потраченных калорий. | ||
```python | ||
# формула расчёта | ||
(18 * средняя_скорость – 20) * вес_спортсмена / M_IN_KM * время_тренировки_в_минутах | ||
``` | ||
--- | ||
--- | ||
Класс спортивной ходьбы | ||
```python | ||
class SportsWalking | ||
``` | ||
### Свойства класса | ||
Добавляемые свойства: | ||
* height — рост | ||
|
||
### Методы класса | ||
переопределить метод: | ||
* get_spent_calories() — метод возвращает число потраченных калорий. | ||
```python | ||
# формула расчёта | ||
(0.035 * вес + (скорость ** 2 // рост) * 0.029 * вес) * время_тренировки_в_минутах | ||
``` | ||
--- | ||
--- | ||
Класс тренировки в бассейне | ||
```python | ||
class Swimming | ||
``` | ||
### Свойства класса | ||
Добавляемые свойства: | ||
* length_pool — длина бассейна; | ||
* count_pool — количество проплытых бассейнов. | ||
|
||
### Методы класса | ||
переопределить метод: | ||
* get_mean_speed() — метод возвращает значение средней скорости движения во время тренировки. | ||
```python | ||
# формула расчёта | ||
длина_бассейна * count_pool / M_IN_KM / время_тренировки | ||
``` | ||
* get_spent_calories() — метод возвращает число потраченных калорий. | ||
```python | ||
# формула расчёта | ||
(скорость + 1.1) * 2 * вес | ||
``` | ||
## Класс информационного сообщения | ||
```python | ||
class InfoMessage | ||
``` | ||
### Свойства класса | ||
* training_type — тип тренировки; | ||
* duration — длительность тренировки; | ||
* distance — дистанция, преодолённая за тренировку; | ||
* speed — средняя скорость движения; | ||
* calories — потраченные за время тренировки килокалории. | ||
|
||
|
||
### Методы класса | ||
|
||
* get_message() — метод возвращает строку сообщения. | ||
```python | ||
# выводимое сообщение | ||
# все значения типа float округляются до 3 знаков после запятой | ||
'Тип тренировки: {training_type}; Длительность: {duration} ч.; Дистанция: {distance} км; Ср. скорость: {speed} км/ч; Потрачено ккал: {calories}'. | ||
``` | ||
|
||
## Функции модуля | ||
```python | ||
def read_package() | ||
``` | ||
* Функция read_package() принимает на вход код тренировки и список её параметров. | ||
* Функция должна определить тип тренировки и создать объект соответствующего класса, | ||
передав ему на вход параметры, полученные во втором аргументе. Этот объект функция должна вернуть. | ||
|
||
--- | ||
--- | ||
```python | ||
def main(training) | ||
``` | ||
Функция `main()` должна принимать на вход экземпляр класса `Training`. | ||
|
||
– При выполнении функции `main()`для этого экземпляра должен быть вызван метод `show_training_info()`; | ||
результатом выполнения метода должен быть объект класса `InfoMessage`, его нужно сохранить в переменную `info`. | ||
– Для объекта `InfoMessage`, сохранённого в переменной `info`, должен быть вызван метод, | ||
который вернёт строку сообщения с данными о тренировке; эту строку нужно передать в функцию `print()`. | ||
# Модуль фитнес-трекера |